1 package day10.lesson2;
2
3 import java.io.FileWriter;
4 import java.io.IOException;
5 import java.io.PrintStream;
6 import java.io.PrintWriter;
7
8 /*
9 2.3 字节打印流
10
11 打印流分类
12 字节打印流:PrintStream
13 字符打印流:PrintWriter
14 打印流的特点
15 只负责输出数据,不负责读取数据
16 永远不会抛出IOException
17 有自己的特有方法
18 字节打印流
19 PrintStream(String fileName)
20 使用指定的文件名创建新的打印流
21 使用继承父类的方法写数据,查看的时候会转码;使用自己的特有方法写数据,查看的数据原样输出
22 可以改变输出语句的目的地
23 public static void setOut(PrintStream out)
24 重新分配“标准”输出流
25
26 2.4 字符打印流
27
28 构造方法
29 PrintWriter(String fileName)
30 使用指定的文件名创建一个新的PrintWriter,而不需要自动执行刷新
31 PrintWriter(Writerout, boolean autoFlush)
32 创建一个新的PrintWriter out:字符输出流 autoFlush:
33 一个布尔值,如果为真,则println , printf ,或format方法将刷新输出缓冲区
34 */
35 public class PrintStreamAndPrintWriterDemo {
36 public static void main(String[] args) throws IOException{
37 methodPrintStream();
38 methodPrintWriter();
39 }
40
41 private static void methodPrintStream() throws IOException {
42 PrintStream ps = new PrintStream("stage2\\src\\day10\\lesson2\\ps.txt");
43
44 //字节输出流的方法
45 ps.write(97); //a
46 ps.write(98); //b
47
48 //PrintStream特有方法
49 ps.println();
50 ps.println(97); //97
51 ps.println(98); //98
52
53 ps.close();
54 }
55
56 private static void methodPrintWriter() throws IOException{
57 // PrintWriter pw = new PrintWriter("stage2\\src\\day10\\lesson2\\pw.txt");
58
59 /*pw.write("hello\n");
60 pw.flush();
61 pw.write("world\n");
62 pw.close();*/
63
64 /*pw.println("hello");
65 pw.flush();
66 pw.println("world");
67 pw.close();*/
68
69 PrintWriter pw = new PrintWriter(new FileWriter("stage2\\src\\day10\\lesson2\\pw.txt"), true);
70 pw.println("hello");
71 //构造方法第二个参数设置为true --> 自动刷新;false时不能自动刷新,需要手动.flush()
72 pw.println("world");
73 pw.close();
74 //三种方式中,推荐使用这种
75 }
76
77 }