例如:判断G盘目录下是否有后缀名为.rar的文件,如果有,就输出该文件名称
第一种方法,只能遍历一层,不推荐使用
package com.wang.test;
import java.io.File;
public class Test6 {
public static void main(String[] args) {
File dir = new File("G:\\");
String[] arr = dir.list(); //获取G盘下所有的文件和文件名
for (String string : arr) {
if(string.endsWith(".rar")) {
System.out.println(string);
}
}
}
}
第二种方法,能遍历n层,只要是文件夹就可以往下遍历
package com.wang.test;
import java.io.File;
public class Test6 {
public static void main(String[] args) {
File dir = new File("G:\\");
File[] subFiles = dir.listFiles();
for (File subFile : subFiles) {
if(subFile.isFile() && subFile.getName().endsWith(".rar")) {
System.out.println(subFile);
}
}
}
}
第三种方法,使用文件名称过滤器
package com.wang.test;
import java.io.File;
import java.io.FilenameFilter;
public class Test6 {
public static void main(String[] args) {
File dir = new File("G:\\");
String[] arr = dir.list(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
File file = new File(dir, name);
return file.isFile() && file.getName().endsWith(".rar");
}
});
for (String string : arr) {
System.out.println(string);
}
}
}