1. File类
File类是java.io包下代表与平台无关的文件和目录,也就是说在程序中操作文件和目录都是通过File类来完成的,File能新建、删除和重命名文件、目录,File不能访问文件内容本身。如果需要访问文件内容本身,则需要使用输入/输出流。
注:Windows路径分隔符使用反斜线 (\),而Java程序反斜线表示转义字符,所以在Windows中路径下包括反斜线,应该用两条反斜线,如F:\\abc\\test.txt.
或者直接使用斜线也可以,java程序支持将斜线当成平台无关的路径分隔符,如:F:/abc/test.txt
2. FilenameFilter文件过滤器
a: 在File的list方法中可以接受一个 FilenameFilter参数,通过该参数可以只列出符合条件的文件。
b: FilenameFilter接口里包含一个accpt(File dir,String name)方法,该方法将依次对指定的File的所有子目录、子文件夹进行迭代,如果方法返回true,则list方法会列出该子目录或子文件夹。
import java.io.File;
import java.io.FilenameFilter;
publicclass FilenameFilterTest {
publicstaticvoid main(String[] args)
{
File file = new File(".");
String[] nameList = file.list(new MyFilenameFilter());
for(String name : nameList)
{
System.out.println(name);
}
}
}
//实现自己的FilenameFilter实现类
class MyFilenameFilterimplements FilenameFilter
{
publicboolean accept(File dir, String name) {
//如果文件名以.java结尾,或者文件对应一个路径,返回true
boolean isMatch = (name.endsWith(".java") ||newFile(name).isDirectory());
return isMatch;
}
}
注:上面的accept方法,实现自己的规则,指定那些文件应该由list方法列出来。