文件实验
实验目的:
-
练习文件的操作
实验内容:
-
列出某个文件夹中的所有文件名和子文件夹名
-
列出某个文件夹和子文件夹中所有txt文件
-
删除某个文件夹中的所有文件和子文件夹(自己建一个文件夹,里面有文件和子文件夹)
-
复制一个大于50M的文件
源码:
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
public class FileExperiment {
public static void main(String[] args) {
// 1. 列出某个文件夹中的所有文件名和子文件夹名
File folder = new File("C:\\Users\\86151\\Desktop\\5720211510 胡传陆");
String[] filesAndFolders = folder.list();
for (String name : filesAndFolders) {
System.out.println(name);
}
System.out.println("此为分隔符!!!!");
// 2. 列出某个文件夹和子文件夹中所有txt文件
listAllTxtFiles(folder);
// 3. 删除某个文件夹中的所有文件和子文件夹
deleteFolder(new File("C:\\Users\\86151\\Desktop\\5720211510 胡传陆\\java文件实验使用样例"));
// 4. 复制一个大于50M的文件
try {
Path source = Paths.get("C:\\Users\\86151\\Desktop\\largefile.txt");
Path target = Paths.get("C:\\Users\\86151\\Desktop\\largefilecopy.txt");
Files.copy(source, target, StandardCopyOption.REPLACE_EXISTING);
} catch (IOException e) {
e.printStackTrace();
}
}
public static void listAllTxtFiles(File folder) {
File[] files = folder.listFiles();
for (File file : files) {
if (file.isDirectory()) {
listAllTxtFiles(file);
} else if (file.getName().endsWith(".txt")) {
System.out.println(file.getAbsolutePath());
}
}
}
public static void deleteFolder(File folder) {
File[] files = folder.listFiles();
for (File file : files) {
if (file.isDirectory()) {
deleteFolder(file);
} else {
file.delete();
}
}
folder.delete();
}
}