package com.hanchao.test;


import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.PrintWriter;

/**
* 测试类
* @author hanlw
* 2012- 07-06
*/
public class Test_Five {

public static void main(String[] args) throws Exception{
/**
* 文本文件的读写(字符流)
*
* 1.java.io.FileReader → java.io.InputStreamReader → java.io.Reader
* (缓冲) java.io.BufferedReader → java.io.Reader
*
* 2.java.io.FileWriter → java.io.OutputStreamWriter → java.io.Writer
* (缓冲) java.io.BufferedWriter → java.io.Writer
*/
/**
* 1.写
*/
File file = new File("C:/java.txt");
//FileOutputStream fileOutputStream = new FileOutputStream(file);
//OutputStreamWriter out = new OutputStreamWriter(fileOutputStream);
//上面的两行和下面的一行是等价的
FileWriter out = new FileWriter(file);
BufferedWriter bw = new BufferedWriter(out);
/**
* 追加数据时:比如对c:java.txt文档增加数据时我们必须要这样写:
*  BufferedWriter bw = new BufferedWriter(new FileWriter(file,true));
*
* 即第42行为: FileWriter out = new FileWriter(file,true);
*/
//写入文本
String str = "hanchao will be successful";
bw.write(str);
bw.write("123\r\n");
bw.write("456\r\t");
//流的关闭
bw.close();
/**
* 2.读
*/
//FileInputStream fileInputStream = new FileInputStream(file);
//InputStreamReader in = new InputStreamReader(fileInputStream);
//上面的两行和下面的一行是的等价
FileReader in = new FileReader(file);
BufferedReader reader = new BufferedReader(in);
//String str1 = reader.readLine();//一次只能读取一行
//System.out.println(str1);
//由于上面一行代码只能读取一行,所以换成下面的
String str1 = null;
while((str1=reader.readLine()) != null) {
System.out.println(str1);

}
//流的关闭
reader.close();
/**
* 3.补充知识点:PrintWriter类
*/
PrintWriter pw = new PrintWriter(new File("c:/print.txt"));
pw.write("abc\r\n");
pw.write("123");
pw.flush();
pw.close();
}
}



     本文转自韩立伟 51CTO博客,原文链接:http://blog.51cto.com/hanchaohan/922585 ,如需转载请自行联系原作者