java基础-io-复制文件
2021/8/8 9:06:23
本文主要是介绍java基础-io-复制文件,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
以字节为单位复制文件(文件大的复制很慢)
public class CopyFileDemo { public static void main(String[] args) { String src = "/Users/xxx/Desktop/study01/src/main/java/iodemo/CopyFileDemo.java"; String deString = "/Users/xxx/Downloads/test/test01.java"; copyFile(src,deString); } public static void copyFile(String srcFile,String deFile) { FileInputStream fis = null; FileOutputStream fos = null; try{ fis = new FileInputStream(srcFile); fos = new FileOutputStream(deFile); int cc = fis.read(); //如果cc不是-1 把cc保存到目标文件中 while (cc != -1){ fos.write(cc); //把读到的字节cc保存到输出流中 cc=fis.read(); } }catch (IOException e){ e.printStackTrace(); }finally { if(fis != null){ try { fis.close(); } catch (IOException e) { e.printStackTrace(); } } if(fos != null){ try { fos.close(); } catch (IOException e) { e.printStackTrace(); } } } } }
以字节数组为单位复制文件(解决文件大的复制很慢的问题)- 不需要关闭流
public class CopyFileDemo { public static void main(String[] args) { String src = "/Users/xxx/Desktop/study01/src/main/java/iodemo/CopyFileDemo.java"; String deString = "/Users/xxx/Downloads/test/test03.java"; copyFile1(src, deString); } public static void copyFile1(String srcFile, String deFile) { try (FileInputStream fis1 = new FileInputStream(srcFile); FileOutputStream fos1 = new FileOutputStream(deFile);) { byte[] bytes = new byte[1024]; int len = fis1.read(bytes); while (len != -1) { fos1.write(bytes, 0, len); //把读到的字节数组保存到输出流中 len = fis1.read(bytes); } } catch (IOException e) { e.printStackTrace(); } } }
这篇关于java基础-io-复制文件的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-01基于Python+Vue开发的医院门诊预约挂号系统
- 2024-10-01基于Python+Vue开发的旅游景区管理系统
- 2024-10-01RestfulAPI入门指南:打造简单易懂的API接口
- 2024-10-01初学者指南:了解和使用Server Action
- 2024-10-01Server Component入门指南:搭建与配置详解
- 2024-10-01React 中使用 useRequest 实现数据请求
- 2024-10-01使用 golang 将ETH账户的资产平均分散到其他账户
- 2024-10-01JWT用户校验课程:从入门到实践
- 2024-10-01Server Component课程入门指南
- 2024-09-30Dnd-Kit学习:新手快速入门指南