我编写了一些代码,直接从C驱动器读取文本文件。
String fileName1 = "c:\\M2011001582.TXT";
BufferedReader is = new BufferedReader(new FileReader(fileName1));
我想获得一个文件列表,其文件名以M开头。我怎样才能实现这个目标?
答案 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
}