如何获取文件名以某个字母开头的文件?

时间:2012-02-01 07:54:02

标签: java

我编写了一些代码,直接从C驱动器读取文本文件。

String fileName1 = "c:\\M2011001582.TXT";
BufferedReader is = new BufferedReader(new FileReader(fileName1));

我想获得一个文件列表,其文件名以M开头。我怎样才能实现这个目标?

3 个答案:

答案 0 :(得分:6)

  

“但我如何编写一个代码,该文件存在于本地驱动器中”

扫描目录以查找符合条件的文件:

import java.io.File;
import java.io.FilenameFilter;

public class DirScan
{
    public static void main(String[] args)
    {
        File root = new File("C:\\");
        FilenameFilter beginswithm = new FilenameFilter()
        {
         public boolean accept(File directory, String filename) {
              return filename.startsWith("M");
          }
        };

        File[] files = root.listFiles(beginswithm);
        for (File f: files)
        {
            System.out.println(f);
        }
    }
}

(文件将存在,否则将无法找到)。

答案 1 :(得分:0)

您可以根据标记'\'拆分字符串并获取数组中的第二个元素,并使用String对象上的startsWith()方法检查它

String splitString = fileName1.split("\\") ;
//check if splitString is not null and size is greater than 1 and then do the following

if(splitString[1].startsWith("M")){
// do whatever you want
}

答案 2 :(得分:0)

要检查文件是否存在,您可以检入File Class docs 在果壳中:

File f = new File(fileName1);
if(f.exists()) {
    //do something                  
}