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 }
复制代码

 

posted @   yub4by  阅读(48)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示