java printstream_Java PrintStream 类

Java PrintStream 类

在本教程中,我们将通过示例来学习Java PrintStream类及其print()和printf()方法。

java.io包的PrintStream类可用于以通常可读的形式(文本)而不是字节写入输出数据。

它继承了抽象类OutputStream。

e8103dba6ace2074397142addc8e1583.png

PrintStream 介绍

与其他输出流不同,PrintStream将原始数据(整数,字符)转换为文本格式而不是字节。 然后,它将格式化的数据写入输出流。

而且,PrintStream类不会抛出任何输入/输出异常。相反,我们需要使用checkError()方法来查找其中的任何错误。

注意:PrintStream该类还具有自动冲洗功能。这意味着它将在以下情况之一下强制输出流将所有数据写入目标:如果换行符\n写在打印流中

如果println()方法被调用

如果在打印流中写入了字节数组

创建一个PrintStream

为了创建一个PrintStream,我们必须首先导入java.io.PrintStream包。导入包后,便可以在此处创建打印流。

1.使用其他输出流

//创建一个FileOutputStream

FileOutputStream file = new FileOutputStream(String file);

//创建一个PrintStream

PrintStream output = new PrintStream(file, autoFlush);

这里,我们已经创建了一个打印流,它将格式化数据写入由FileOutputStream表示的文件

autoFlush是一个可选的布尔参数,用于指定是否执行自动冲洗

2.使用文件名

//创建一个PrintStream

PrintStream output = new PrintStream(String file, boolean autoFlush);

这里,我们创建了一个打印流,它将格式化的数据写入指定的文件

autoFlush 是一个可选的布尔参数,用于指定是否执行自动冲洗

注意:在这两种情况下,PrintStream都使用一些默认的字符编码将数据写入文件。但是,我们也可以指定字符编码(UTF8或UTF16)。

//使用某种字符编码创建一个PrintStream

PrintStream output = new PrintStream(String file, boolean autoFlush, Charset cs);

在这里,我们使用Charset该类来指定字符编码。

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.

在上面的示例中,我们尚未创建打印流。但是,我们可以使用PrintStream类的print()方法。

您可能想知道这怎么可能。好吧,让我解释一下这里发生了什么。

注意这一行,

System.out.print(data);

这里,System是负责执行标准输入/输出操作的final类

out是在System类中声明的PrintStream类型的类变量

现在,由于out是PrintStream类型的,因此我们可以使用它来调用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);

这里,I am %d years old - 是一个格式化字符串

%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()将指定的数据附加到流

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值