public class TestFile {
public static void main(String [] args) {
//遍历文件夹中文件名称,若文件夹中还存有文件夹,递归读取文件夹名称
File file = new File("D:\\javafile"); //假设文件保存在D:\\javafile中
new TestFile().show(file);
}
public void show(File file) {
File[] files = file.listFiles();
for(File fs : files) {
System.out.println(fs.getName());
if(fs.isDirectory()) {
show(fs);
}
}
}
}
//使用内部类过滤文件
public class TestFile{
public static void main(String [] args) {
File file = new File("D:\\javafile");
new TestFile().show(file);
}
public void show(File file) {
File [] files = file.listFiles();
for(File fs : files) {
if(new MyFilenameFilter().accept(fs, fs.getName())) {
System.out.println(fs.getName());
}
}
}
//在TestFile类的内部,定义MyFilenameFilter类,实现FilenameFilter过滤器的方法
class MyFilenameFilter implements FilenameFilter{
public boolean accept(File file, String name) {
//假设在D:\\javafile文件夹内部保存有.txt格式的文件
if(name.endsWith(".txt")) {
return true;
}
return false;
}
}
}
//使用匿名内部类过滤文件
public class TestFile{
public static void main(String [] args) {
File file = new File("D:\\javafile");
new TestFile().show(file);
}
public void show(File file) {
//红色部门极为匿名内部类部分
File [] files = file.listFiles(new FilenameFilter(){
@Override
public boolean accept(File file, String name) {
if(name.endsWith(".txt")) {
return true;
}
return false;
}
});
for(File fs : files) {
System.out.println(fs.getName());
}
}
}