java获得文件名如1-2-3.txt并根据文件名创建文件夹1再进入1创建文件夹2,最后将3.txt放到2中

依此类推如果存在2-2-2-2.txt只取只需将2-2.txt放入2文件夹下就好... 依此类推如果存在2-2-2-2.txt只取只需将2-2.txt放入2文件夹下就好 展开
 我来答
yinfengnong
2018-04-12 · TA获得超过5619个赞
知道大有可为答主
回答量:2344
采纳率:89%
帮助的人:2303万
展开全部

代码如下:

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.");
    }
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式