将硬盘的文本文件复制一份出来

package InputOutput;

import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

/*
 * 将硬盘的文本文件复制一份出来
 */
public class CopyTest {
	public static void main(String[] args) throws IOException,InterruptedException {
//		copyTest_1();
		copyTest_2();
	}
	
	/*
	 * 从硬盘拷贝一份文本文件到另外一个硬盘中
	 * 	1.在D盘创建一个文本文件,用于存储存C盘储读取到的数据
	 * 	2.定义读取流和C盘文件关联
	 * 	3.通过不断的读写完成数据存储
	 * 	4.关闭资源
	 */
	public static void copyTest_1() throws IOException, InterruptedException{
		//定义一个拷贝出来的文件 
		FileWriter fw = new FileWriter("c:/3.txt");
		
		//定义一个读取流
		FileReader fr = new FileReader("c:/1.txt");
	
		//读取一个字符,就写入一个字符
		int ch = 0;	//该变量在本案例跟起到了判断循环是否继续的作用
		while((ch=fr.read())!= -1){
			fw.write(ch);
		}
		fw.close();
		fr.close();
	}
	
	/*
	 * 更快速的做法
	 * 	我们钭读取到的字符存放在一个数组里面,再将数组写入到FileWriter流里面
	 */
	public static void copyTest_2(){
		FileWriter fw = null;
		FileReader fr = null;
		
		try{
			fw = new FileWriter("c:/2.java");
			fr = new FileReader("c:/1.txt");
			char[] arr = new char[2];
			int num = 0;
			while((num=fr.read(arr)) != -1){
				fw.write(arr);
			}
		}catch(IOException io){
			throw new RuntimeException("读写失败!!!");
		}finally{
			if(fr != null){
				try{
					fr.close();
				}catch(IOException o){
					
				}
			}
			if(fw != null){
				try{
					fw.close();
				}catch(IOException o){
					
				}
			}
		}
	}
}

  

posted on 2013-07-27 20:10  樱花满天  阅读(261)  评论(0)    收藏  举报

导航