java IO输入输出流实现文本复制

package com.teacher;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
/*
 *输出流(写入文件)  write()
 *         FileOutputStream     将数据以字节写入文件的输出流   write(byte[]);
 *         BufferedOutputStream    实现缓冲的输出流      writer()单字符   writer(char[])  
 *         FileWriter   写入字符  writer()单字符   writer(char[])   writer(String)
 *         BufferedWriter   将文本写入字符输出流中,缓冲各个字符,以提供字符数组、字符串高效的写入
 *                                      writer()单字符   writer(char[])   writer(String)    newLine()输入行分隔符
 * 
 * 输入流(读取文件)   read()
 *         FileInputStream    从文件系统中获得输入字节  read(byte[]);
 *         BufferedInputStream   被创建时在内部建立一个缓冲区数组,先把字节存入缓冲区  read()   read(char[])                                            
 *         FileReader   读取字符    read()    read(char[])
 *         BufferedReader  从字符输入流中读取文本,缓冲各个字符,以提供字符数组、字符串高效的读取
 *                                       read()读取单字符    read(char[])字符数组   readLine()读取文本行
 *         
 */
public class Copyfilecontent {
	//把一个文件的内容复制到另一个文件
	public static void main(String[] args) {
		try {
			FileReader  fr = new FileReader("e:/study/file.txt");
			BufferedReader  br = new BufferedReader(fr);
			
			FileWriter fw= new FileWriter("e:/copyfile.txt");
			BufferedWriter bw = new BufferedWriter(fw);
			
			char[]  c = new  char[1024];
			int n=0;
			String string=null;
			/*while ((n=br.read(c))!=-1) {
				System.out.println("开始写啦");
				bw.write(c,0,n);//按字符写
			}*/
			while ((string=br.readLine())!=null) {
				bw.write(string);//  readLine()  读取行
				bw.newLine();//换行
			}
			bw.flush();//刷新
			br.close();
			bw.close();
			
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}		
	}
}

  

原文地址:https://www.cnblogs.com/nn369/p/7484006.html