JavaSE-19.2.2【IO特殊操作流之标字节打印流、字符打印流】
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 }