0425-使用文件输入和输出流复制文件
package A10_IOStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.FileOutputStream;
import java.math.BigDecimal;
import java.math.RoundingMode;
public class D03_FileCopy {
public static void main(String[] args) throws IOException {
myCopyFile("D:\\视频教程\\从零开始学asp.netCore\\1.2为您的机器配置开发环境.wmv", "D:\\配置开发环境.wmv");
}
/*
使用字节流复制文件
四舍五入:
Double result=new BigDecimal(3.1415926).setScale(2, RoundingMode.HALF_UP).doubleValue();
*/
private static void myCopyFile(String s, String d) throws IOException {
long timeB = System.currentTimeMillis(); //复制开始毫秒时间
byte[] buff = new byte[1024 * 1024]; //缓冲区大小1024KB
FileInputStream fis = new FileInputStream(s); //创建输入流对象(输入到内存)
FileOutputStream fos = new FileOutputStream(d); //创建输出流对象(从内存输出到硬盘文件)
try {
int len = 0; //读取有效字节数
while ((len = fis.read(buff)) != -1) { //读取有效字节非-1值循环读写
fos.write(buff, 0, len); //从内存写出到文件
}
} finally {
fis.close();
fos.close();
}
long timeE=System.currentTimeMillis();
Double duration=Math.round(timeE-timeB)*0.001; //转换为秒的数值
duration=new BigDecimal(duration).setScale(4, RoundingMode.HALF_UP).doubleValue(); //经典的中国四舍五入
System.out.println("文件复制耗时:"+duration+"秒");
}
}
凡哥,别他妈吹牛逼了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)