zoukankan      html  css  js  c++  java
  • Java复制文件用数据流方法,renameTO()方法是相当于剪切操作

    我想达到的效果是,一个文件复制到另一个地方,然后重命名



    //判断是否存在
    File file = new File("D:/tomcat9.0.12/apache-tomcat-9.0.12/webapps/paipaixiu_mavenTomcat/upload/app");
    //判断是否存在该文件夹,不存在则新建,重启服务器将清空该文件夹里的所有内容
    if (!file.exists() || !file.isDirectory()) {
    file.mkdirs();
    }

    // File f = new File("D:/tomcat9.0.12/apache-tomcat-9.0.12/webapps/paipaixiu_mavenTomcat/upload/app/app-release.apk");
    // //数据流复制操作,可同时重命名
    // copyFileByStream(new File("C:/Users/85339/Desktop/PaiPaixiu/app/release/app-release.apk"), f);
    //
    // //剪切操作
    new File("C:/Users/85339/Desktop/PaiPaixiu/app/release/app-release.apk").renameTo(
    new File("D:/tomcat9.0.12/apache-tomcat-9.0.12/webapps/paipaixiu_mavenTomcat/upload/app/派派秀.apk")
    );


    而使用数据流复制的方法如下:
    //拷贝文件
    public static void copyFileByStream(File source, File dest) throws IOException {
    try (InputStream inputStream = new FileInputStream(source);
    OutputStream outputStream = new FileOutputStream(dest)) {
    byte[] buffer = new byte[1024];
    int length;
    while ((length = inputStream.read(buffer)) > 0) {
    outputStream.write(buffer, 0, length);
    }
    }
    }


    与方法renameTO()的效果不一样,
    renameTo的规则是剪切并且可以同时命名,由两种情况无操作,1.原路径的文件找不到,2.目标路径已经有相同名称相同后缀的文件
    使用方法:
    new File("旧路径").renameTO(new File("新路径"));
    如果不重命名则把文件名写一样就可以了





  • 相关阅读:
    算法思想篇(5)————贪心算法
    Nginx模块开发(4)————使用subrequest访问第三方服务
    算法思想篇(4)————分治算法
    算法思想篇(3)————递归算法
    算法思想篇(2)————递推算法
    Nginx模块开发(3)————使用upstream访问第三方服务
    CentOS启用iptables防火墙
    linux-TFTP服务
    NFS服务
    linux构建DHCP服务器
  • 原文地址:https://www.cnblogs.com/c2g5201314/p/10848145.html
Copyright © 2011-2022 走看看