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 }