我有一个文件夹名称"新文件夹"在里面,我有3个文件。我需要打印包含我姓名的文件名" Sheba"使用Java作为其内容。有人可以帮忙吗?
答案 0 :(得分:0)
您只需使用Java.io.File的listFiles方法在目录中列出该文件。 这是一个例子,我在列表中放入了名称包含Sheeba的所有文件:
ArrayList<File> findFiles= new ArrayList<File>();
f = new File("[path2newFolder]");
File[] paths = f.listFiles();
for(File path:paths)
{ // getting the files containing Sheeba
if (path.getName().contains("Sheeba"){
findFiles.add(path);
}
}
之后,您可以列出findFiles中包含的文件的内容。
答案 1 :(得分:0)
查看FileFilter或FilenameFilter接口。
它们允许您在调用File.listFiles
方法时仅获取所需的文件。使用它而不是在获取文件后过滤文件的一个好处是它更可重用。
实施例: 过滤器类(您可以创建一个匿名的):
public class MyFileFilter implements FilenameFilter {
private String filenamePart;
public MyFileFilter(String filenamePart) {
this.filenamePart = filenamePart;
}
/**
* @see java.io.FilenameFilter#accept(java.io.File, java.lang.String)
*/
@Override
public boolean accept(File dir, String name) {
return name.contains(filenamePart);
}
}
你可以这样称呼它:
File[] paths = new File("c:\\myParentDirectory").listFiles();
请注意,您只在此父目录中列出文件(和目录)。不在子目录中。