JAVA-IO流将A文件内容Copy到B文件中

编程思路:

/*
 * 将A文件中的内容复制到B文件中
 * 
 * 复制原理:
 * 其实就是将A文件中文件数据存储到B文件中
 * 步骤:
 * 1.在自己想要存储的地方创建一个B文件,用于存储A文件中的数据
 * 2.定义读取流和A文件关联
 * 3.通过不断的读写完成数据存储
 * 4.关闭流资源
 */

一、方法一:从A文件中读一个字符,就往B文件中写一个字符

//方法一:从A文件中读一个字符,就往B文件中写一个字符
	public static void copy_1() throws IOException{
		//创建目的地
		FileWriter fw= new FileWriter("DemoCope1.txt");
		
		FileReader fr = new FileReader("E:\\JAVA\\TestMap\\src\\com\\diaobao\\map\\TastMap.java");
		
		int num = 0;
		while ((num = fr.read()) !=-1) {
			fw.write(num);
		}
		fw.close();
		fr.close();
	}
二、方法二:先把A文件中的内容全部读出来后,在往B文件中写

//方法二:先把A文件中的内容全部读出来后,在往B文件中写
	public static void Copy_2(){
		FileWriter fw = null;
		FileReader fr = null;
		try {
			//先创建目的地文件
			fw = new FileWriter("CopyTextContent.txt");
			fr= new FileReader("E:\\JAVA\\TestMap\\src\\com\\diaobao\\map\\TastMap.java");
			
			char [] reader = new char[1024];
			int num = 0;
			while ((num = fr.read(reader)) !=-1) {
				fw.write(reader,0,num);
			}
		} catch (IOException e) {
			throw new RuntimeException("读写错误");
		}finally{
			if (fw !=null) {
				try {
					fw.close(); //这里使用try-catch是因为防止创建失败(路径错误之类),当创建失败的时候这里就会出现NullPointerException
				} catch (Exception e2) {
				}
			}
			if (fr !=null) {
				try {
					fr.close(); //同上
				} catch (Exception e2) {
				}
			}
		}
		
	}

注意:在写项目的时候一般使用方法二,还是就是一般不要使用throws来抛出异常,使用方法二的比较好   

三、方法三:使用缓存区的方法进行

//使用缓存区复制一个.java文件
	public static void BufferedDemo(){
		BufferedWriter bfWriter = null;
		BufferedReader bfReader =null;
		try {
			bfWriter = new BufferedWriter(new FileWriter("Demo.txt"));
			bfReader = new BufferedReader(new FileReader("E:\\JAVA\\TestMap\\src\\com\\diaobao\\map\\TastMap.java"));
			
			String line = null;
			while ((line = bfReader.readLine())!=null) {
				bfWriter.write(line);
				bfWriter.newLine(); //因为每次是读取一行内容,所以显示一行后就得换行
				bfWriter.flush(); //刷新内容
			}
		} catch (IOException e) {
			throw new RuntimeException("读写错误!");
		}finally{
			if (bfWriter !=null) {
				try {
					bfWriter.close();
				} catch (Exception e2) {
					throw new RuntimeException("写入关闭失败!");
				}
			}
			
			if (bfReader !=null) {
				try {
					bfReader.close();
				} catch (Exception e2) {
					throw new RuntimeException("读取关闭失败!");
				}
			}
		}
		
	}



你可能感兴趣的:(Java内容)