亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> java

掌握 Java PrintStream 类:print、println 与 printf 详解

掌握 Java PrintStream 类

PrintStream 位于 java.io,继承 OutputStream,专为输出人类可读文本而非原始字节设计。


PrintStream 工作原理

与其他流不同,PrintStream 在写入前将基本类型(int、char 等)转为格式化文本。且不抛 IOException,错误通过 checkError() 报告。

自动刷新是关键特性:以下情况自动刷新:


创建 PrintStream

导入类:

import java.io.PrintStream;

1. 从现有 OutputStream

// 例:包装 FileOutputStream
FileOutputStream fos = new FileOutputStream("log.txt");
PrintStream ps = new PrintStream(fos, true); // true = autoFlush

向 log.txt 写格式化文本,可选自动刷新。

2. 直接从文件名

PrintStream ps = new PrintStream("log.txt", true);

构造器接受布尔值控制自动刷新。默认使用平台字符编码。

3. 指定字符集

PrintStream ps = new PrintStream("log.txt", true, StandardCharsets.UTF_8);

用 Charset 选择 UTF-8、UTF-16 等编码。详见 Java Charset API。


PrintStream 核心方法

print() 和 println()

示例:使用 System.out

public class Main {
    public static void main(String[] args) {
        System.out.print("Hello World.");
    }
}

System.out 是预配置 PrintStream,直接可用 print()。

示例:写入文件

import java.io.PrintStream;
public class Main {
    public static void main(String[] args) {
        try {
            PrintStream ps = new PrintStream("output.txt");
            ps.print("This is a text inside the file.");
            ps.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

生成的 output.txt 内容:

This is a text inside the file.

printf()

使用格式说明符打印格式化文本:

System.out.printf("I am %d years old", 25);

%d 替换为整数 25。

示例:文件中使用 printf()

import java.io.PrintStream;
public class Main {
    public static void main(String[] args) {
        try {
            PrintStream ps = new PrintStream("output.txt");
            int age = 25;
            ps.printf("I am %d years old.", age);
            ps.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

执行后 output.txt 内容:

I am 25 years old.

PrintStream 其他方法

方法描述
close()关闭流释放资源
checkError()流遇到错误返回 true
append()向流追加指定字符序列

详细参考官方 Java PrintStream 文档。

java

  1. 深入理解 Java final 关键字:变量、方法与类的不可变性
  2. Java instanceof 运算符完全指南:用法、继承与接口检查
  3. 精通 Java 继承:核心概念、类型与实战示例
  4. 深入理解 Java 静态嵌套类:用法、差异与实战示例
  5. 精通 Java 匿名内部类:定义、语法与实战示例
  6. Java 单例模式详解:安全实现与使用指南
  7. 精通 Java 反射:运行时检查类、方法与字段
  8. 精通 Java ArrayList:操作、方法与最佳实践
  9. Java Stack 类全面指南:用法、核心方法与实战示例
  10. 掌握 Java ObjectOutputStream:序列化、核心方法与实战示例
  11. 掌握 Java 泛型:构建可复用、类型安全的代码
  12. 掌握 Java 文件操作:java.io 包下的创建、读取、写入与删除