Java searching file name from the one folder

2019-03-06 09:10发布

I am studying Java and I am not really sure the way to searching file. I would like to build the function which returning file names ( the files name should begin with star and end with .txt)

For example, in the folder we have Java source file with some file. For example, files:

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

Then I would like to get the start.txt, star.txt & starton.txt

I was looking for the FilenameFilter but I wasn't able to find to good way to find file. Does any one know the way to find files?

3条回答
Deceive 欺骗
2楼-- · 2019-03-06 09:26

File#getName() should return aString`, then use:

filename.startsWith(...);
filename.endsWith(...);
查看更多
啃猪蹄的小仙女
3楼-- · 2019-03-06 09:31
// 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
    }
}
查看更多
太酷不给撩
4楼-- · 2019-03-06 09:52

Probably the easiest way is to simple use File#listFiles(FileFilter), something like

File[] fileList = new File("/path/to/search").listFiles(new FileFilter() {
    @Override
    public boolean accept(File pathname) {
        return pathname.getName().endsWith(".txt");
    }
});
查看更多
登录 后发表回答