《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一2.2.1 如何写出文本输出

简介: 本节书摘来华章计算机《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一书中的第2章 ,第2.2.1节,[美] 凯S.霍斯特曼(Cay S. Horstmann) 著陈昊鹏 译 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.2.1 如何写出文本输出

对于文本输出,可以使用PrintWriter。这个类拥有以文本格式打印字符串和数字的方法,它还有一个将PrintWriter链接到FileWriter的便捷方法,下面的语句:
image

等同于:
image

为了输出到打印写出器,需要使用与使用System.out时相同的print、println和printf方法。你可以用这些方法来打印数字(int、short、long、f?loat、double)、字符、boolean值、字符串和对象。
例如,考虑下面的代码:
image

它将把下面的字符:
image

输出到写出器out,之后这些字符将会被转换成字节并最终写入employee.txt中。
println方法在行中添加了对目标系统来说恰当的行结束符(Windows系统是"rn",UNIX系统是"n"),也就是通过调用System.getProperty("line.separator")而获得的字符串。
如果写出器设置为自动冲刷模式,那么只要println被调用,缓冲区中的所有字符都会被发送到它们的目的地(打印写出器总是带缓冲区的)。默认情况下,自动冲刷机制是禁用的,你可以通过使用PrintWriter(Writer out, Boolean autoFlush)来启用或禁用自动冲刷机制:
image

print方法不抛出异常,你可以调用checkError方法来查看输出流是否出现了某些
错误。

注意:Java的老手们可能会很想知道PrintStream类和System.out底怎么了。在Java 1.0中,PrintStream类只是通过将高字节丢弃的方式把所有Unicode字符截断成ASCII字符。(那时,Unicode仍旧是16位编码方式)很明显,这并非一种干净利落和可移植的方式,这个问题在Java 1.1中通过引入读入器和写出器得到了修正。为了与已有的代码兼容,System.in、System.out和System.err仍旧是输入/输出流而不是读入器和写出器。但是现在PrintStream类在内部采用与PrintWriter相同的方式将Unicode字符转换成了默认的主机编码方式。当你在使用print和println方法时,PrintStream类型的对象的行为看起来确实很像打印写出器,但是与打印写出器不同的是,它们允许我们用write(int)和write(byte[])方法输出原生字节。

image

image

相关文章
|
1月前
|
开发框架 Java API
最新Java基础系列课程--Day13-高级特性(二)
最新Java基础系列课程--Day13-高级特性
|
2月前
|
Java
Java文本进度条
Java文本进度条
|
6天前
|
Java Maven
java获取文件编码,jsoup获取html纯文本
java获取文件编码,jsoup获取html纯文本
6 0
|
27天前
|
算法 C++ Python
Java每日一练(20230430) 文本左右对齐、素数和、整数转英文表示
Java每日一练(20230430) 文本左右对齐、素数和、整数转英文表示
19 0
Java每日一练(20230430) 文本左右对齐、素数和、整数转英文表示
|
1月前
|
Java
Java PDF 相关 1、拷贝多个PDF到一个PDF,并且文件大小变小,文本等信息保留
1、合并多个PDF,并且文件变小,后面添加的文本信息保留
19 0
|
1月前
|
Java 程序员 API
最新Java基础系列课程--Day13-高级特性(三)
最新Java基础系列课程--Day13-高级特性
|
1月前
|
开发框架 Java 程序员
最新Java基础系列课程--Day13-高级特性(一)
最新Java基础系列课程--Day13-高级特性
|
2月前
|
开发框架 Java 程序员
最新Java基础系列课程--Day13-高级特性
最新Java基础系列课程--Day13-高级特性
|
2月前
|
存储 Java 编译器
《Java 核心技术卷1 基础知识》第三章 Java 的基本程序设计结构 笔记(下)
《Java 核心技术卷1 基础知识》第三章 Java 的基本程序设计结构 笔记
78 0
|
2月前
|
存储 自然语言处理 Java
《Java 核心技术卷1 基础知识》第三章 Java 的基本程序设计结构 笔记(上)
《Java 核心技术卷1 基础知识》第三章 Java 的基本程序设计结构 笔记
76 0