java获得文件名如1-2-3.txt并根据文件名创建文件夹1再进入1创建文件夹...
发布网友
发布时间:2023-12-23 01:53
我来回答
共1个回答
热心网友
时间:2024-08-18 16:20
代码如下:
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 App {
public static void main(String[] args) throws IOException {
// 源文件夹路径
String srcDirPath = "D:\\temp\\demo30\\src";
// 目标文件夹路径
String dstDirPath = "D:\\temp\\demo30\\dst";
File srcDir = new File(srcDirPath);
// 遍历源文件夹
File[] files = srcDir.listFiles();
for (File file : files) {
// 获取文件名
String fileName = file.getName();
// 将文件名分割成三部分
String[] names = fileName.split("-", 3);
// 组合文件路径
Path dstFilePath = Paths.get(dstDirPath, names[0], names[1], names[2]);
// 获取文件所在文件夹
File dstFileDir = dstFilePath.getParent().toFile();
// 如果文件所在文件夹不存在,则创建该文件夹
if (!dstFileDir.exists()) {
dstFileDir.mkdirs();
}
// 复制文件到目标文件夹
Files.copy(Paths.get(file.getAbsolutePath()), dstFilePath, StandardCopyOption.REPLACE_EXISTING);
}
System.out.println("done.");
}
}