欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

IO流之拷贝文件

程序员文章站 2024-03-08 10:28:28
...

实现一个将一个大文件一边读一边写,到磁盘的另一个地方,实现文件的拷贝功能!

代码如下

/**
 * 操作文件过程
 * 1,建立联系
 * 2,选择流
 * 3,操作,读写
 * 4,释放资源
 * @author snow
 *
 */
public class IODemo {
	
	// 为了代码一目了然,这里使用抛出异常,统一处理
	public static void main(String[] args) throws Exception {
		// 将一个比较大的文件边读边写入磁盘
		long startTime = System.currentTimeMillis();
		// 建立联系
		File infile = new File("D:\\BaiduNetdiskDownload\\Adobe Photoshop CS6.zip");
		// 要输出的文件位置
		File outFile = new File("D:\\ps.zip");
		
		// 建立输入输出流
		InputStream is = new FileInputStream(infile);
		OutputStream os = new FileOutputStream(outFile);
		
		// 设置缓冲区
		byte [] b = new byte[2048];
		// 记录实际读取长度
		int len = 0;
		
		while( -1 != (len = is.read(b)) ) {
			// 输出(写入到磁盘)
			os.write(b, 0, len);
		}
		// 强制输入所有读取的字节
		os.flush();
		
		//释放资源 先打开的后关闭
		os.close();
		is.close();
		long endTime = System.currentTimeMillis();
		
		System.out.println( "用时:" + (endTime - startTime) + "ms" );
		
	}

运行效果:

IO流之拷贝文件