我想达到的效果是,一个文件复制到另一个地方,然后重命名
//判断是否存在
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);
//
// //重命名,竟然也可以复制,。。。为何不直接重命名
// f.renameTo(new File("D:/tomcat9.0.12/apache-tomcat-9.0.12/webapps/paipaixiu_mavenTomcat/upload/app/派派秀.apk"));
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()方法
使用方法:
new File("旧路径").renameTO(new File("新路径"));
如果不重命名则把文件名写一样就可以了
标签:12,Java,apk,app,release,renameTO,File,数据流,new
来源: https://www.cnblogs.com/c2g5201314/p/10848145.html