八. 输入输出(IO)操作3.面向字符的输出流
面向字符的输出流都是类 Writer 的子类,其类层次结构如图 10-5 所示。

图10-5 Writer的类层次结构图
表 10-3 列出了 Writer 的主要子类及说明。
| 类名 | 功能说明 |
|---|---|
| CharArrayWriter | 写到字符数组的输出流 |
| BufferedWriter | 缓冲输出字符流 |
| PipedWriter | 输出管道 |
| OutputStreamWriter | 转换字符到字节的输出流 |
| FilterWriter | 过滤输出流 |
| StringWriter | 输出到字符串的输出流 |
| PrintWriter | 包含 print()和 println()的输出流 |
| FileWriter | 输出到文件的输出流 |
Writer 所提供的方法如表 10-4 所示。
| 方法 | 功能描述 |
|---|---|
| void close() | 关闭输出流 |
| void flush() | 将缓冲区中的数据写到文件中 |
| void writer(int c) | 将单一字符 c 输出到流中 |
| void writer(String str) | 将字符串 str 输出到流中 |
| void writer(char[] ch) | 将字符数组 ch 输出到流 |
| void writer(char[] ch, int offset, int length) | 将一个数组内自 offset 起到 length 长的字符输出到流 |
使用 FileWriter 类写入文件
FileWriter 类是 Writer 子类 OutputStreamWriter 类的子类,因此 FileWriter 类既可以使用 Writer类的方法也可以使用 OutputStreamWriter 类的方法来创建对象。
在使用 FileWriter 类写入文件时,必须先调用 FileWriter()构造方法创建 FileWriter 类的对象,再调用 writer()方法。FileWriter 构造方法的格式为:
public FileWriter(String name); //根据文件名创建一个可写入的输出流对象
public FileWriter(String name,Boolean a); //a 为真,数据将追加在文件后面
【例 10-3】利用 FileWriter 类将 ASCⅡ字符写入到文件中(查看源代码)。
运行后程序后,打开 ep10_3.txt 文件,显示内容为:
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}
使用 BufferedWriter 类写入文件
BufferedWriter 类是用来将数据写入到缓冲区。使用时必须创建 FileWriter 类对象,再以该对象为参数创建 BufferedWriter 类的对象,最后需要用 flush()方法将缓冲区清空。BufferedWriter类有两个构造方法,其格式为:
public BufferedWriter(Writer out); //创建缓冲区字符输出流
public BufferedWriter 面向字符的输出流都是类 Writer 的子类,其类层次结构如图 10-5 所示。

图10-5 Writer的类层次结构图
表 10-3 列出了 Writer 的主要子类及说明。
| 类名 | 功能说明 |
|---|---|
| CharArrayWriter | 写到字符数组的输出流 |
| BufferedWriter | 缓冲输出字符流 |
| PipedWriter | 输出管道 |
| OutputStreamWriter | 转换字符到字节的输出流 |
| FilterWriter | 过滤输出流 |
| StringWriter | 输出到字符串的输出流 |
| PrintWriter | 包含 print()和 println()的输出流 |
| FileWriter | 输出到文件的输出流 |
Writer 所提供的方法如表 10-4 所示。
| 方法 | 功能描述 |
|---|---|
| void close() | 关闭输出流 |
| void flush() | 将缓冲区中的数据写到文件中 |
| void writer(int c) | 将单一字符 c 输出到流中 |
| void writer(String str) | 将字符串 str 输出到流中 |
| void writer(char[] ch) | 将字符数组 ch 输出到流 |
| void writer(char[] ch, int offset, int length) | 将一个数组内自 offset 起到 length 长的字符输出到流 |
使用 FileWriter 类写入文件
FileWriter 类是 Writer 子类 OutputStreamWriter 类的子类,因此 FileWriter 类既可以使用 Writer类的方法也可以使用 OutputStreamWriter 类的方法来创建对象。
在使用 FileWriter 类写入文件时,必须先调用 FileWriter()构造方法创建 FileWriter 类的对象,再调用 writer()方法。FileWriter 构造方法的格式为:
public FileWriter(String name); //根据文件名创建一个可写入的输出流对象
public FileWriter(String name,Boolean a); //a 为真,数据将追加在文件后面
【例 10-3】利用 FileWriter 类将 ASCⅡ字符写入到文件中(查看源代码)。
运行后程序后,打开 ep10_3.txt 文件,显示内容为:
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}
使用 BufferedWriter 类写入文件
BufferedWriter 类是用来将数据写入到缓冲区。使用时必须创建 FileWriter 类对象,再以该对象为参数创建 BufferedWriter 类的对象,最后需要用 flush()方法将缓冲区清空。BufferedWriter类有两个构造方法,其格式为:
public BufferedWriter(Writer out); //创建缓冲区字符输出流
public BufferedWriter www.xinbeiyuLe.cn (Writer out,int size); //创建输出流并设置缓冲区大小
【例 10-4】利用 BufferedWriter 类进行文件复制(查看源代码)。
需要注意的是,调用 out 对象的 write()方法写入数据时,不会写入回车,因此需要使用newLine()方法在每行数据后加入回车,以保证目标文件与源文件相一致。(Writer out,int size); //创建输出流并设置缓冲区大小
【例 10-4】利用 BufferedWriter 类进行文件复制(查看源代码)。
需要注意的是,调用 out 对象的 write()方法写入数据时,不会写入回车,因此需要使用newLine()方法在每行数据后加入回车,以保证目标文件与源文件相一致。
八. 输入输出(IO)操作3.面向字符的输出流的更多相关文章
- 八. 输入输出(IO)操作2.面向字符的输入流
字符流是针对字符数据的特点进行过优化的,因而提供一些面向字符的有用特性,字符流的源或目标通常是文本文件. Reader和Writer是java.io包中所有字符流的父类.由于它们都是抽象类,所以应使用 ...
- 八. 输入输出(IO)操作4.面向字节的输入输出流
字节流以字节为传输单位,用来读写8位的数据,除了能够处理纯文本文件之外,还能用来处理二进制文件的数据.InputStream类和OutputStream类是所有字节流的父类. InputStream类 ...
- 八. 输入输出(IO)操作5.面向字节流的应用
文件输入输出流 文件输入输出流 FileInputStream 和 FileOutputStream 负责完成对本地磁盘文件的顺序输入输出操作. [例 10-5]通过程序创建一个文件,从键盘输入字符, ...
- 八. 输入输出(IO)操作1.输入输出基本概念
输入输出(I/O)是指程序与外部设备或其他计算机进行交互的操作.几乎所有的程序都具有输入与输出操作,如从键盘上读取数据,从本地或网络上的文件读取数据或写入数据等.通过输入和输出操作可以从外界接收信息, ...
- 八. 输入输出(IO)操作7.文件的随机读写
Java.io 包提供了 RandomAccessFile 类用于随机文件的创建和访问.使用这个类,可以跳转到文件的任意位置读写数据.程序可以在随机文件中插入数据,而不会破坏该文件的其他数据.此外,程 ...
- 八. 输入输出(IO)操作6.文件与目录管理
目录是管理文件的特殊机制,同类文件保存在同一个目录下不仅可以简化文件管理,而且还可以提高工作效率.Java 语言在 java.io 包中定义了一个 File 类专门用来管理磁盘文件和目录. 每个 Fi ...
- 八. 输入输出(IO)操作8.文件的压缩处理
Java.util.zip 包中提供了可对文件的压缩和解压缩进行处理的类,它们继承自字节流类OutputSteam 和 InputStream.其中 GZIPOutputStream 和 ZipOut ...
- Java的IO操作中有面向字节(Byte)和面向字符(Character)两种方式
解析:Java的IO操作中有面向字节(Byte)和面向字符(Character)两种方式.面向字节的操作为以8位为单位对二进制的数据进行操作,对数据不进行转换,这些类都是InputStream和Out ...
- Java知多少(68)面向字符的输出流
面向字符的输出流都是类 Writer 的子类,其类层次结构如图 10-5 所示. 图10-5 Writer的类层次结构图 表 10-3 列出了 Writer 的主要子类及说明. 表 10-3 Writ ...
随机推荐
- 【转载】Unity3D研究院之IOS&Andoird使用Sharesdk遇到的坑
这两天研究了一下ShareSDK,说实话挺好用的,但是还是有点坑的地方.那么雨松MOMO写下博文记录一下来我遇到的坑,嘿嘿. 大部分内容它的文档上已经说的很清楚了. http://wiki.share ...
- Grid 布局管理器
Grid 布局管理器: Grid布局类wx.GridSizer,Grid布局以网格形式对子窗口或控件进行摆放,容器被分成大小相等的矩形,一个矩形中放置一个子窗口或控件. wx.GridSizer构造方 ...
- 孤荷凌寒自学python第十一天初识Python的字典类
孤荷凌寒自学python第十一天初识Python的字典类 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) Python的字典其实是一张二维对照表 下面举例说明: 键名Key 姓名 性别 身高 ...
- 计算机图形学 opengl版本 第三版------胡事民 第四章 图形学中的向量工具
计算机图形学 opengl版本 第三版------胡事民 第四章 图形学中的向量工具 一 基础 1:向量分析和变换 两个工具 可以设计出各种几何对象 点和向量基于坐标系定义 拇指指向z轴正 ...
- 聊聊、Spring ServletContainerInitializer
我们平时用 Java 注解很多,例如 @Configuration.@Component.@Service,我们习惯于通过 XML 方式来实现 Web,而用 Java 注解方式来实现 Web 却很少. ...
- web浏览器中的javascript -- 2
在html里嵌入javascript: 在html文档里嵌入客户端javascript代码有4种方式: 1.内联,放置在<script>和</script>标签对之间; 2.放 ...
- DAO设计模式的理解
为了降低耦合性,提出了DAO封装数据库操作的设计模式. 它可以实现业务逻辑与数据库访问相分离.相对来说,数据库是比较稳定的,其中DAO组件依赖于数据库系统,提供数据库访问的接口. 一般的DAO的封装由 ...
- # Including Artificial Intelligence in a Routing ProtocolUsing Software Defined Networks
Abstract: 问题:AI在路由协议上的应用仅适用于真实设备,尤其是无线传感器节点 The inclusion of artificial intelligence (AI) can improv ...
- Linux下磁盘管理
设置密码mkpasswdmkpasswd -s 0mkpasswd -s 0 -1 15 规定密码的长度 1. 查看磁盘或者目录的容量df 查看磁盘各分区使用情况 不加参数以k为单位 df -i in ...
- StringBuilder_学习笔记
参考:https://www.jianshu.com/p/160c9be0b132 连接符号 "+" 本质 字符串变量(非final修饰)通过 "+" 进行拼接 ...