Java PrintStream 类
Java PrintStream 类
在本教程中,我们将通过示例了解 Java PrintStream 类及其 print() 和 printf() 方法。
PrintStream
java.io
的类 包可用于以通常可读的形式(文本)而不是字节来写入输出数据。
它扩展了抽象类 OutputStream
.
PrintStream 的工作
与其他输出流不同,PrintStream
将原始数据(整数、字符)转换为文本格式而不是字节。然后它将格式化的数据写入输出流。
还有,PrintStream
类不会抛出任何输入/输出异常。相反,我们需要使用 checkError()
方法来查找其中的任何错误。
注意 :PrintStream
类还具有自动冲洗的功能。这意味着它强制输出流在以下条件之一下将所有数据写入目标:
- 如果换行符
\n
写在打印流中 - 如果
println()
方法被调用 - 如果在打印流中写入字节数组
创建一个打印流
为了创建一个 PrintStream
,我们必须导入 java.io.PrintStream
先打包。一旦我们在这里导入包,我们就可以创建打印流。
1。使用其他输出流
// Creates a FileOutputStream
FileOutputStream file = new FileOutputStream(String file);
// Creates a PrintStream
PrintStream output = new PrintStream(file, autoFlush);
在这里,
- 我们创建了一个打印流,它将格式化数据写入由
FileOutputStream
表示的文件 - 自动刷新 是一个可选的布尔参数,指定是否执行自动刷新
2。使用文件名
// Creates a PrintStream
PrintStream output = new PrintStream(String file, boolean autoFlush);
在这里,
- 我们创建了一个打印流,它将格式化数据写入指定文件
- 自动刷新 是一个可选的布尔参数,指定是否执行自动刷新
注意 :在这两种情况下,PrintStream
使用某些默认字符编码将数据写入文件。但是,我们可以指定字符编码(UTF8 或 UTF16 ) 也是如此。
// Creates a PrintStream using some character encoding
PrintStream output = new PrintStream(String file, boolean autoFlush, Charset cs);
在这里,我们使用了 Charset
类来指定字符编码。要了解更多信息,请访问 Java Charset(官方 Java 文档)。
PrintStream的方法
PrintStream
类提供了各种方法,允许我们将数据打印到输出。
print() 方法
print()
- 将指定的数据打印到输出流中println()
- 将数据连同末尾的换行符一起打印到输出流中
示例:带有 System 类的 print() 方法
class Main {
public static void main(String[] args) {
String data = "Hello World.";
System.out.print(data);
}
}
输出
Hello World.
在上面的例子中,我们没有创建一个打印流。但是,我们可以使用 print()
PrintStream
的方法 类。
你可能想知道这怎么可能。好吧,让我解释一下这里发生了什么。
注意这一行,
System.out.print(data);
在这里,
System
是负责执行标准输入/输出操作的最终类out
是PrintStream
的类变量System
中声明的类型 类
现在从 out
属于 PrintStream
type,我们可以用它来调用PrintStream
的所有方法 类。
示例:带有 PrintStream 类的 print() 方法
import java.io.PrintStream;
class Main {
public static void main(String[] args) {
String data = "This is a text inside the file.";
try {
PrintStream output = new PrintStream("output.txt");
output.print(data);
output.close();
}
catch(Exception e) {
e.getStackTrace();
}
}
}
在上面的例子中,我们创建了一个名为 output 的打印流 .打印流与 output.txt 链接 文件。
PrintStream output = new PrintStream("output.txt");
要将数据打印到文件中,我们使用了 print()
方法。
在这里,当我们运行程序时,output.txt 文件中填充了以下内容。
This is a text inside the file.
printf() 方法
printf()
方法可用于打印格式化的字符串。它包括 2 个参数:格式化字符串和参数。例如,
printf("I am %d years old", 25);
在这里,
- 我 %d 岁是一个格式化字符串
- %d 是格式化字符串中的整数数据
- 25 是一个参数
格式化的字符串包括文本和数据。并且,参数替换了格式化字符串中的数据。
因此 %d 替换为 25 .
示例:使用 PrintStream 的 printf() 方法
import java.io.PrintStream;
class Main {
public static void main(String[] args) {
try {
PrintStream output = new PrintStream("output.txt");
int age = 25;
output.printf("I am %d years old.", age);
output.close();
}
catch(Exception e) {
e.getStackTrace();
}
}
}
在上面的例子中,我们创建了一个名为 output 的打印流 .打印流与文件 output.txt 链接 .
PrintStream output = new PrintStream("output.txt");
要将格式化的文本打印到文件中,我们使用了 printf()
方法。
在这里,当我们运行程序时,output.txt 文件中填充了以下内容。
I am 25 years old.
PrintStream的其他方法
方法 | 说明 |
---|---|
close() | 关闭打印流 |
checkError() | 检查流中是否有错误并返回布尔结果 |
append() | 将指定的数据追加到流中 |
要了解更多信息,请访问 Java PrintStream(Java 官方文档)。
java