1.计算文件夹内文件数量
public class Main {
public static void main(String[] args) {
System.out.println(getCount("C:\\Users\\zhangzeyu\\Desktop\\人脸识别整理"));
}
public static int getCount(String path) {
return getCount(new File(path));
}
/**
* 递归获取文件夹内的文件数量
*/
public static int getCount(File root) {
if (root.isFile()) {
return 1;
} else if (root.isDirectory()) {
File[] files = root.listFiles();
if (files == null) {
return 0;
}
int sum = 0;
for (File file : files) {
sum += getCount(file);
}
System.out.println(root.getName() + ":" + sum);
return sum;
} else {
throw new RuntimeException("error");
}
}
}
核心的 API 有
File#isFile() 检验一个文件是否是一个普通文件
File#isDirectory() 检查一个文件是否是一个文件夹
File#listFiles() 返回一个抽象路径名数组,该数组表示此抽象路径名表示的目录中的文件。
2. 拷贝并合并指定文件到指定文件夹下
拷贝 C:\Users\kendoziyu\Desktop\人脸识别整理 文件夹及其子文件夹下的文件到 C:\Users\kendoziyu\Desktop\人脸识别整理\focus_face\face 文件夹下。
设置仅拷贝后缀为 .jpg 的文件
import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
import java.nio.file.Files;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws IOException {