JAVA。当需要进征格式化输出时,以下哪种类型的流能提供比较便利的操作
如图所示,请解释一下各个选项,为什么对?为什么错?以及为什么这种类型的流可提供便利的操作?其他选项的流又比较适合哪些操作呢?
选择第一个,第二个是输出对象,第三个是缓冲输出,第四个是文件输出
不知道你这个问题是否已经解决, 如果还没有解决的话:
答案:
C. PrintStream
各个选项的作用:
A. BufferedInputStream:是带缓冲区的输入流,能够减少访问磁盘的次数,提高文件读取性能。
B. DataInputStream:是从输入流中读取基本 Java 数据类型的支持类,数据输出时需要知道 Java 数据类型,因此不适合格式化输出。
D. FileOutputStream:是输出流,用于向文件写入数据并保存在磁盘上,不适合格式化输出。
C. PrintStream:可以方便地格式化数据并输出到控制台或文件,提供了一系列 print() 和 println() 方法,可以输出多种类型的数据,并可以进行格式化输出。
解决方案:
使用PrintStream进行格式化输出:
public static void main(String[] args) {
PrintStream ps = null;
try {
ps = new PrintStream(new File("test.txt"));
ps.println(String.format("姓名: %s", "张三"));
ps.println(String.format("年龄: %d", 20));
ps.println(String.format("薪水: %.2f", 2000.00));
} catch (FileNotFoundException e) {
e.printStackTrace();
} finally {
if (ps != null) {
ps.close();
}
}
}
其他选项流比较适合的操作:
A. BufferedInputStream:适用于大文件读取,可以减少磁盘访问次数,提高性能。
B. DataInputStream:适用于从输入流中读取基本 Java 数据类型。
D. FileOutputStream:适用于向文件写入数据并保存在磁盘上。