题目: 将test目录下的所有文件及文件夹复制到study目录,除去jpg格式的图片。
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.StandardCopyOption;
public class CopyFiles {
public static void main(String[] args) {
String sourceDirectory = "test";
String destinationDirectory = "study";
try {
copyFiles(sourceDirectory, destinationDirectory);
System.out.println("Files copied successfully!");
} catch (IOException e) {
System.out.println("An error occurred while copying files: " + e.getMessage());
}
}
private static void copyFiles(String sourceDirectory, String destinationDirectory) throws IOException {
File sourceDir = new File(sourceDirectory);
File[] files = sourceDir.listFiles();
if (files != null) {
for (File file : files) {
if (file.isFile()) {
// 获取文件扩展名
String extension = getFileExtension(file.getName());
// 如果文件不是jpg格式的图片,则进行复制
if (!"jpg".equalsIgnoreCase(extension)) {
File destination = new File(destinationDirectory + File.separator + file.getName());
Files.copy(file.toPath(), destination.toPath(), StandardCopyOption.REPLACE_EXISTING);
}
} else if (file.isDirectory()) {
// 递归复制子文件夹
String newSourceDirectory = sourceDirectory + File.separator + file.getName();
String newDestinationDirectory = destinationDirectory + File.separator + file.getName();
copyFiles(newSourceDirectory, newDestinationDirectory);
}
}
}
}
private static String getFileExtension(String fileName) {
int dotIndex = fileName.lastIndexOf(".");
if (dotIndex > 0 && dotIndex < fileName.length() - 1) {
return fileName.substring(dotIndex + 1);
}
return "";
}
}