下面就为您详细讲解 Java I/O 流之打印流的详细使用方法教程。
简介
Java 提供了多种 I/O 流来处理输入输出操作,其中打印流(PrintStream 和 PrintWriter)可以方便地格式化输出文本。本文将着重介绍打印流的使用方法。
打印流的创建
创建打印流对象的方式与创建其他 I/O 流类似,通常需要指定输出目标。以下是创建打印流对象的两种常用方式:
- 使用文件名作为目标
PrintStream out = new PrintStream("output.txt");
- 使用输出流作为目标
OutputStream os = new FileOutputStream("output.txt");
PrintStream ps = new PrintStream(os);
打印流的常用方法
打印方法
打印流最常用的方法就是打印字符串,可以使用以下方法向目标输出文本:
print(String s) // 输出一个字符串
println(String s) // 输出一个字符串并换行
print(int i) // 输出一个整数
println(int i) // 输出一个整数并换行
print(double d) // 输出一个双精度数
println(double d) // 输出一个双精度数并换行
// 其他重载方法
格式化输出
除了使用上述的打印方法外,打印流还提供了格式化输出的方法,可以输出格式化的字符串。
printf(String format, Object... args); // 格式化输出
其中,format
是格式化字符串,args
是被格式化的参数。格式化字符串使用与 String.format()
相同的语法,例如:
// 输出一个浮点数,保留两位小数
ps.printf("%.2f", 3.14159);
自动刷出
打印流通常会缓存输出,直到缓存满或者手动调用 flush()
方法。为了避免数据丢失,我们需要在必要时刷新缓冲区,或者在程序结束时关闭打印流以释放资源。
Java 的打印流提供了一种便利机制,叫做“自动刷出”(autoflush)。自动刷出指的是在使用 println()
方法打印字符串时,会在每次输出后自动调用 flush()
方法刷新缓冲区,确保输出文本能够及时地显示出来。
要启用自动刷出,需要在创建打印流对象时将 autoflush
参数设为 true。
PrintStream ps = new PrintStream("output.txt", true);
示例
下面是一个简单的示例,演示了如何使用打印流向文件输出文本。
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;
public class PrintStreamExample {
public static void main(String[] args) {
try (PrintStream ps = new PrintStream(new FileOutputStream("output.txt"))) {
ps.println("Hello, World!");
ps.printf("pi = %.2f%n", Math.PI);
ps.println("This is a new line.");
} catch (IOException e) {
e.printStackTrace();
}
}
}
运行以上代码后,可以在当前项目目录下找到名为 output.txt
的文件,其中包含了输出的文本。
以上就是 Java I/O 流之打印流的详细使用方法教程,希望对您有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java I/O流之打印流详细使用方法教程 - Python技术站