2016-12-12 31 views
-6

ファイル名がすでに存在する場合、私はチェックしていたファイルを格納する前に、私NEWIMAGE保証を次のコードファイル名が既に存在するかどうかを確認する方法?

以下のコードで問題がされていることを利用していないのです。このため

(上書きを防ぐために)既に存在していません。

 public static String ImageOverrideChecker(String image_name)throws IOException{ 
     String newimage = ""; 
     ArrayList<String> image_nameslist = new ArrayList<String>(); 
       File file = new File("/Images/"); 
     File[] files = file.listFiles(); 
     for(File f: files){ 
       image_nameslist.add(f.getName()); 
     } 
     if(image_nameslist.contains(image_name)) 
     { 
       Random randomGenerator = new Random(); 
       int randomInt = randomGenerator.nextInt(1000); 
       Matcher matcher = Pattern.compile("(.*)\\.(.*?)").matcher(image_name); 
       if (matcher.matches()) 
       { 
         newimage = String.format("%s_%d.%s", matcher.group(1), randomInt,matcher.group(2)); 
       } 
     } 
     else 
     { 
       newimage = image_name; 
     } 
     return newimage; 
} 
+0

file.existsメソッドで確認できます。または何かこのような '試してみる(OutputStream out = Files.newOutputStream(path、StandardOpenOption.CREATE_NEW))' – XtremeBaumer

+3

ファイルにメソッドがあった場合は、これをチェックすることができます。 – wvdz

+1

http://stackoverflow.com/questions/ 1816673/how-do-i-check-if-a-file-exists-javaその非常に簡単な検索... – Guy

答えて

2

ファイル名は次のようにそれを確認するだけ存在するかどうかを確認するには、次の

File file = new File(filePath); 
if (file.exists()) { 
    // do something 
} 

注意ファイルは、ディレクトリではなく、necessarelly真のファイルにすることが可能となります。 ファイルであるかどうかを確認する必要がある場合:

File file = new File(filePath); 
if (file.exists() && !file.isDirectory()) { 
    // do something 
} 
関連する問題