0

我正在学习 Java,但我不太确定搜索文件的方法。我想构建返回文件名的函数(文件名应该以开头star和结尾.txt

例如,在文件夹中,我们有 Java 源文件和一些文件。例如,文件:

  • 1.txt
  • 2.txt
  • 4.txt
  • 开始.txt
  • 星号.txt
  • onstart.txt
  • 启动.txt
  • 我的java.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 a字符串`,然后使用:

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