Java中的输入输出流3
发布日期:2021-04-30 21:02:13 浏览次数:118 分类:精选文章

本文共 1697 字,大约阅读时间需要 5 分钟。

Java中的输入输出流3

一、常用的字符输入与字符输出流类

1.字符输出流---顶级类Writer

字符输出流的顶级类是Writer,开发者不能直接new这个类,需要使用其子类。

1.1 FileWriter---方便写字符文件

FileWriter是字符输出流中最常用的类,用于写字符文件。

构造方法:
  • FileWriter(File file): 给一个File对象构造一个FileWriter对象。
  • FileWriter(File file, boolean append): 给一个File对象构造一个是否允许追加的FileWriter对象。
  • FileWriter(String fileName): 给一个String对象构造一个FileWriter对象。
  • FileWriter(String fileName, boolean append): 给一个String对象构造一个是否允许追加的FileWriter对象。
实例方法:
  • void write(char[] cbuf): 写入一个字符数组。
  • void write(char[] cbuf, int off, int len): 写入字符数组的一部分。
  • void write(int c): 写入一个字符。
  • void write(String str): 写入一个字符串。
  • void write(String str, int off, int len): 写入字符串的一部分。
  • void flush(): 刷新流。
  • void close(): 关闭流。

2.字符输入流---顶级类Reader

字符输入流的顶级类是Reader,开发者也不能直接new这个类,需要使用其子类。

2.1 FileReader---读取字符文件

FileReader用于读取字符文件。

构造方法:
  • FileReader(File file): 给一个File对象构造一个FileReader对象。
  • FileReader(String fileName): 给一个String对象构造一个FileReader对象。
实例方法:
  • int read(): 读取一个字符。
  • int read(char[] cbuf): 将字符读入数组。
  • void close(): 关闭流。

2.2 BufferedReader---输入缓冲

BufferedReader是字符输入流中的缓冲类,用于提高读取效率。

构造方法:
  • BufferedReader(Reader in): 创建使用默认大小的输入缓冲区的缓冲字符输入流。
  • BufferedReader(Reader in, int sz): 创建使用指定大小的输入缓冲区的缓冲字符输入流。
实例方法:
  • int read(): 读取一个字符。
  • int read(char[] cbuf): 将字符读入数组。
  • String readLine(): 读取一行文字。

2.3 OutputStreamWriter---字节流转字符流

OutputStreamWriter将字节输出流转换为字符输出流。

构造方法:
  • OutputStreamWriter(OutputStream out): 将字节输出流转换为字符输出流。
实例方法:
  • void write(...): 常用方法与FileWriter类似,支持写字符数组、字符串等。

2.4 InputStreamReader---字节流转字符流

InputStreamReader将字节输入流转换为字符输入流。

构造方法:
  • InputStreamReader(InputStream in): 将字节输入流转换为字符输入流。
实例方法:
  • int read(): 读取一个字符。
  • int read(char[] cbuf): 将字符读入数组。

二、输入输出流的操作步骤

  • 创建文件对象(File对象),指定输入输出的位置。
  • 创建输入输出流对象:
    • 文本选字符流,其他的选字节流。
  • 调用read()/write()方法进行操作。
  • 关闭流。
  • 通过以上步骤,可以实现文件的读写操作。

    上一篇:mvc设计模式
    下一篇:MyBatis(一)

    发表评论

    最新留言

    留言是一种美德,欢迎回访!
    [***.207.175.100]2026年06月09日 17时23分55秒