2017-08-03 29 views
0

Javaを使用してディレクトリにファイルが存在するかどうかを確認する必要がありますが、ファイル名にはパターンがあります。たとえば、ファイル名はrecap_data_03082017.txtで、最後の数字は常に変更されています。あなたはこれまでに何をしようとしなかった_ * recap_dataのようにワイルドカードを使用して検索を実行するためにそこの方法は、あなたは、Java 8を使用している場合は、以下のことを試みることができるワイルドカードを使用してディレクトリ内のファイルを検索する

+1

? –

+0

string.contains()を試しましたか? – isaace

+0

org.apache.commons.io.FilenameUtils.wildcardMatching(fileName、wildCard)しかし複雑すぎる –

答えて

0

をCSV。さ

try (Stream<Path> paths = Files.walk(Paths.get("/your/path/"), 1)) { 
      return paths 
        .filter(Files::isRegularFile) 
        .anyMatch(f -> { 
         final String fileName = f.getFileName().toString(); 
         return fileName.startsWith("ecap_data_") && fileName.endsWith(".csv"); 
        }); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
+0

これは問題なく動作しますが、私のメソッドのreturn文としてtrueまたはfalseを返す方法を管理できませんでした。複雑な構文 –

+0

申し訳ありませんが、パターンのあるファイルが存在するかどうかを確認したいと思っています –

+0

それはOKです;)それは私にとって問題の90%を解決しました:)ありがとう –

関連する問題