IO流文件复制的路径问题

public static void main(String[] args) {

    File oldRootFile = new File("D:\\");
    File newRootFile = new File("E:\\kaishi");
    File oldFile = new File("D:\\temp\\新笔记);
    File f = getNewFile(oldRootFile, newRootFile, oldFile);
    System.out.println(f.getPath());
}

/**
 * 定义工具方法
 * @param oldRootFile  D:\temp
 * @param newRootFile  E:\kaishi
 * @param oldFile      D:\temp\新笔记
 * @return          E:\kaishi\temp\新笔记
 */
public static File getNewFile(File oldRootFile,File newRootFile,File oldFile){
    //事先先定义一个文件
    File newFile = null;
    //拿着原始根目录,获取父路径
    File parentFile = oldRootFile.getParentFile();
    //判断
    if (parentFile == null) {
        //得到当前的原始文件全整路径
        String path = oldFile.getPath();
        //直接截取后面的路径
        String temp = path.substring(2);
        //拼接操作
        String newPath = newRootFile.getPath() +"\\" + temp;
        newFile = new File(newPath);
    }else {
        //得到当前的原始文件全整路径
        String path = oldFile.getPath();
        //替换的操作
        String newPath = path.replace(parentFile.getPath(), newRootFile.getPath()+"\\");
        newFile = new File(newPath);
    }
    //返回
    return newFile;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值