java获得文件名如1-2-3.txt并根据文件名创建文件夹1再进入1创建文件夹2,最后将3.txt放到2中
1个回答
展开全部
代码如下:
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.");
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询