# java IO
字符流
(以byte为单位读取, java1个byte为1个字节)
主要实现类
- FileReader 用于从文件输入
- CharArrayReader 用于从程序中的字符数组输入
- StringReader 用于从程序中的字符串输入
- PipedReader 用于读取从另一个线程中的 PipedWriter 写入管道的数据。
- BufferedReader : 提供通用的缓冲方式文本读取,readLine读取一个文本行, 从字符输入流中读取文本,缓冲各个字符,从而提供字符、数组和行的高效读取。
字节流
(以char为单位读取,java1个char为两个字节)
InputStream 的来源
1. An array of bytes
2. A String object
3. A file
4. A "pipe"
OutputStream 的去处
1. an array of bytes
2. a file
3. a "pipe"
主要实现类
- FileInputStream 从文件流中读取数据
- ByteArrayInputStream
如何将字符串转换为InputStream并从中读取字符串:
使用ByteArrayInputStream类来创建流对象,并将String.getBytes(str)放回 的字节数组作为参数传给其构造函数。 - PipedInputStream