标签:
package com.pb.io.buffered; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; public class BufereTest { /*BufferedWriter * 1.需要修饰到一个指定的输出流(例如:FileWriter)还可以是其它的 * 2.BufferedWriter会覆盖原有文件内容 * 3.需要清空缓冲区,使用flush()方法 * BufferedReader * 1.需要修饰到一个指定的输入流(例如:FileReader)还可以是其它的 * 2.关闭流 */ public static void main(String[] args) { /* * BufferedWriter写操作 */ try { //1.创建文件输出流FileWriter FileWriter fw=new FileWriter("d:/test/test.txt"); //这里没有加true,是清空文件重新写入,可以加入true //2.实例化。BufferedWriter对象包装类 BufferedWriter bw=new BufferedWriter(fw); //3.写入内容 bw.write("大家好!"); bw.write("我要修改内容了"); bw.newLine(); //换行 bw.write("哈哈,我修改完了!"); bw.newLine(); //4.清空缓冲区 bw.flush(); //5.关闭流 bw.close(); fw.close(); System.out.println("==========写入文件结束======"); } catch (IOException e) { e.printStackTrace(); } /* * BufferedReader读文件 */ try { //1.声明文件读取对象 FileReader fr=new FileReader("d:/test/test.txt"); //2.声明BufferedRead对象 BufferedReader br=new BufferedReader(fr); //3.开始读取文件 System.out.println("========开始读取文件========"); String date; while((date=br.readLine())!=null){ System.out.println(date); } System.out.println("========读取文件结束========"); //4.关闭流 br.close(); fr.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
结果:
==========写入文件结束====== ========开始读取文件======== 大家好!我要修改内容了 哈哈,我修改完了! ========读取文件结束========
s1.txt内容
明月几时有,
把酒问青天,
不知道天上宫阙,
今夕是何年。
package com.pb.io.buffered; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; /* * 实现文本文件的复制 *使用BufferedReader和BufferedWriter来实现 */ public class BuffereDemo1 { public static void main(String[] args) { try { //1.声明BufferedReader和BufferedWriter对象 InputStreamReader isr=new InputStreamReader(new FileInputStream("d:/test/s1.txt"), "GB2312"); //解决中文乱码 //FileReader fr=new FileReader("d:/test/s1.txt"); BufferedReader br=new BufferedReader(isr); OutputStreamWriter osw=new OutputStreamWriter(new FileOutputStream("d:/test/s2.txt"),"GB2312"); //FileWriter fw=new FileWriter("d:/test/s2.txt"); //s2并不存在,会自动创建 BufferedWriter bw =new BufferedWriter(osw); //2.开始读取文件 String line; //声明变量用来用来存放读出的内容 int num=1;//用来记录行数 while((line=br.readLine())!=null){ System.out.println("=========正在读出第"+num+"行==========="); System.out.println(line); System.out.println("=========正在写入第"+num+"行==========="); bw.write(line); num++; } System.out.println("======文件写入结束========"); //清空缓冲区 bw.flush(); //关闭输出流 bw.close(); osw.close(); System.out.println("======文件读取结束========"); //关闭输入流 br.close(); isr.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
标签:
原文地址:http://www.cnblogs.com/liunanjava/p/4307188.html