打印流(PrintStream)
1 package demo11.prints; 2 3 import java.io.FileNotFoundException; 4 import java.io.PrintStream; 5 6 /* 7 java.io.PrintStream:打印流 8 PrintStream 为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式。 9 PrintStream特点: 10 1.只负责数据的输出,不负责数据的读取 11 2.与其他输出流不同,PrintStream 永远不会抛出 IOException 12 3.有特有的方法,print,println 13 void print(任意类型的值) 14 void println(任意类型的值并换行) 15 构造方法: 16 PrintStream(File file):输出的目的地是一个文件 17 PrintStream(OutputStream out):输出的目的地是一个字节输出流 18 PrintStream(String fileName) :输出的目的地是一个文件路径 19 20 PrintStream extends OutputStream 21 继承自父类的成员方法: 22 - public void close() :关闭此输出流并释放与此流相关联的任何系统资源。 23 - public void flush() :刷新此输出流并强制任何缓冲的输出字节被写出。 24 - public void write(byte[] b):将 b.length字节从指定的字节数组写入此输出流。 25 - public void write(byte[] b, int off, int len) :从指定的字节数组写入 len字节,从偏移量 off开始输出到此输出流。 26 - public abstract void write(int b) :将指定的字节输出流。 27 注意: 28 如果使用继承自父类的write方法写数据,那么查看数据的时候会查询编码表 97->a 29 如果使用自己特有的方法print/println方法写数据,写的数据原样输出 97->97 30 */ 31 32 public class demo { 33 public static void main(String[] args) throws FileNotFoundException { 34 show01(); 35 show02(); 36 } 37 38 private static void show02() throws FileNotFoundException { 39 /* 40 可以改变输出语句的目的地(打印流的流向) 41 输出语句,默认在控制台输出 42 使用System.setOut方法改变输出语句的目的地改为参数中传递的打印流的目的地 43 static void setOut(PrintStream out) 44 重新分配“标准”输出流。 45 */ 46 47 // 1 打印在屏幕 48 System.out.println("hello world"); 49 PrintStream ps = new PrintStream("setout.txt"); 50 // 2 setOut方法将打印流输出位置改为ps对应的文件 51 System.setOut(ps); 52 System.out.println("hello world"); 53 } 54 55 private static void show01() throws FileNotFoundException { 56 PrintStream ps = new PrintStream("print.txt"); 57 ps.write(97); 58 ps.println("kelvin"); 59 ps.println(97); 60 ps.println(true); 61 ps.println(3.14); 62 ps.close(); 63 } 64 }
分类:
[编程语言] Java
标签:
Java 打印流
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~