0

私はJavaを勉強していますが、ファイルを検索する方法がよくわかりません。ファイル名を返す関数を作成したい(ファイル名はで始まり、starで終わる必要があります.txt

たとえば、フォルダには、いくつかのファイルを含むJavaソースファイルがあります。たとえば、ファイル:

  • 1.txt
  • 2.txt
  • 4.txt
  • start.txt
  • star.txt
  • onstart.txt
  • starton.txt
  • myjava.java

start.txt次に、、star.txt&を取得したいと思いますstarton.txt

私は探していましたFilenameFilterが、ファイルを見つけるための良い方法を見つけることができませんでした。ファイルを見つける方法を知っている人はいますか?

4

3 に答える 3

8

おそらく最も簡単な方法はFile#listFiles(FileFilter)、次のような単純な使用です

File[] fileList = new File("/path/to/search").listFiles(new FileFilter() {
    @Override
    public boolean accept(File pathname) {
        return pathname.getName().endsWith(".txt");
    }
});
于 2012-11-04T06:06:47.760 に答える
1
// You'll need this import: import java.io.File;

File folder = new File("C:/Folder_Location");
// gets you the list of files at this folder
File[] listOfFiles = folder.listFiles();
// loop through each of the files looking for filenames that match
for(int i = 0; i < listOfFile.length; i++){
    String filename = listOfFiles[i].getName();
    if(filename.startsWith("Stuff") && listOfFiles[i].getName().endsWith("OtherStuff")){
        // do something with the filename
    }
}
于 2012-11-04T06:06:58.153 に答える
0

File#getName() should return aString` の場合、次を使用します。

filename.startsWith(...);
filename.endsWith(...);
于 2012-11-04T06:04:06.543 に答える