IO流之拷贝文件

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

代码如下

/**
 * 操作文件过程
 * 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" );
		
	}

运行效果:

阅读更多
个人分类: javaio
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭