package cn.itcast.demo2; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; /* * 字符输出流缓冲区流 * java.io.BufferedWriter 继承 Writer * 写入方法 write () 单个字符,字符数组,字符串 * * 构造方法: * BufferedWriter(Writer w)传递任意字符输出流 * 传递谁,就高效谁 * 能传递的字符输出流 FileWriter, OutputStreamWriter * * BufferedWriter 具有自己特有的方法 * void newLine() 写换行 * * newLine()文本中换行, \r\n也是文本换行 * 方法具有平台无关性 * Windows \r\n * Linux \n * * newLine()运行结果,和操作系统是相互关系 * JVM: 安装的是Windows版本,newLine()写的就是\r\n * 安装的是Linux版本,newLine()写的就是\n */ public class BufferedWrierDemo { public static void main(String[] args) throws IOException{ //创建字符输出流,封装文件 FileWriter fw = new FileWriter("c:\\buffer.txt"); BufferedWriter bfw = new BufferedWriter(fw); bfw.write("你好"); bfw.newLine(); bfw.flush(); bfw.write("我好好"); bfw.newLine(); bfw.flush(); bfw.write("大家都好"); bfw.flush(); bfw.close(); } } /* * bfw.write(100); bfw.flush(); bfw.write("你好".toCharArray()); bfw.flush();*/
package cn.itcast.demo2; import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; /* * 字符输入流缓冲流 * java.io.BufferedReader 继承 Reader * 读取功能 read() 单个字符,字符数组 * 构造方法: * BufferedReader(Reader r) * 可以任意的字符输入流 * FileReader InputStreamReader * * BufferedReader自己的功能 * String readLine() 读取文本行 \r\n * * 方法读取到流末尾,返回null * 小特点: * 获取内容的方法一般都有返回值 * int 没有返回的都是负数 * 引用类型 找不到返回null * boolean 找不到返回false * * String s = null * String s ="null" * * readLine()方法返回行的有效字符,没有\r\n */ public class BufferedReaderDemo { public static void main(String[] args) throws IOException { int lineNumber = 0; //创建字符输入流缓冲流对象,构造方法传递字符输入流,包装数据源文件 BufferedReader bfr = new BufferedReader(new FileReader("c:\\a.txt")); //调用缓冲流的方法 readLine()读取文本行 //循环读取文本行, 结束条件 readLine()返回null String line = null; while((line = bfr.readLine())!=null){ lineNumber++; System.out.println(lineNumber+" "+line); } bfr.close(); } } /* * String line = bfr.readLine(); System.out.println(line); line = bfr.readLine(); System.out.println(line); line = bfr.readLine(); System.out.println(line); line = bfr.readLine(); System.out.println(line); line = bfr.readLine(); System.out.println(line); */