JavaSE-18.2.5【字符缓冲流、字符缓冲流特有功能】
1 package day9.lesson2; 2 3 import java.io.*; 4 5 /* 6 2.9 字符缓冲流 7 8 BufferedWriter 9 字符缓冲输入流 10 将文本写入字符输出流,缓冲字符,以提供单个字符,数组和字符串的高效写入, 11 可以指定缓冲区大小,或者可以接受默认大小。默认值足够大,可用于大多数用途 12 BufferedReader 13 字符缓冲输出流 14 从字符输入流读取文本,缓冲字符,以提供字符,数组和行的高效读取, 15 可以指定缓冲区大小,或者可以使用默认大小。 默认值足够大,可用于大多数用途 16 17 构造方法 18 BufferedWriter(Writer out) 创建字符缓冲输出流对象 19 BufferedReader(Reader in) 创建字符缓冲输入流对象 20 */ 21 public class BufferedStreamDemo01 { 22 public static void main(String[] args) throws IOException{ 23 24 //写 25 /* FileWriter fw = new FileWriter("stage2\\ssrc\\day9\\lesson2\\bw.txt"); 26 BufferedWriter bw = new BufferedWriter(fw);*/ 27 28 BufferedWriter bw = new BufferedWriter(new FileWriter("stage2\\src\\day9\\lesson2\\bw.txt")); 29 bw.write(97); 30 bw.write(98); 31 bw.write(99); 32 bw.write("\nhello"); 33 bw.write("world"); 34 bw.close(); 35 36 //读 37 BufferedReader br = new BufferedReader(new FileReader("stage2\\src\\day9\\lesson2\\bw.txt")); 38 39 //一次读一个字符 40 /*int ch; 41 while ((ch=br.read()) != -1){ 42 System.out.print((char)ch); 43 }*/ 44 45 /* 46 abc 47 helloworld 48 */ 49 50 //一次读一个字符数组 51 char[] chars = new char[1024]; 52 int len; 53 while ((len=br.read(chars)) != -1){ 54 System.out.print(new String(chars, 0, len)); 55 } 56 57 br.close(); 58 } 59 }
1 package day9.lesson2; 2 3 import java.io.*; 4 5 /* 6 2.11 字符缓冲流特有功能 7 8 BufferedWriter: 9 void newLine() 写一行行分隔符,行分隔符字符串由系统属性定义 10 11 BufferedReader: 12 String readLine() 读一行文字。 结果包含行的内容的字符串,不包括任何行终止字符(如\n等)如果流的结尾已经到达,则为null 13 */ 14 public class BufferedStreamDemo02 { 15 public static void main(String[] args) throws IOException { 16 BufferedWriter bw = new BufferedWriter(new FileWriter("stage2\\src\\day9\\lesson2\\bw2.txt")); 17 for (int i=0; i<10; i++){ 18 bw.write("hello" + i); 19 // bw.write("\r\n"); 20 // bw.write("\n"); 21 bw.newLine(); 22 bw.flush(); 23 } 24 bw.close(); 25 26 BufferedReader br = new BufferedReader(new FileReader("stage2\\src\\day9\\lesson2\\bw2.txt")); 27 String line; 28 while ((line=br.readLine()) != null){ 29 // System.out.print(line); //hello0hello1hello2hello3hello4hello5hello6hello7hello8hello9 30 System.out.println(line); 31 } 32 br.close(); 33 } 34 }