background image

一旦打开输入流后,程序就可从输入流串行地读数据。从输入流读

/写数据的过程一般

如下:打开一个流通道

-->读取/写信息-->关闭流通道。

java 平台中,有以下两种方式能获得本地平台的字符编码类型:

a)System.getProperty("file.encoding");

b) Charset cs=Charset.defaultCharset();

所有的输入流、输出流都可以分为字节(输入、输出)流,字符(输入、输出)流,处理

字节的主要是(

OutputStream/InputStream) 系列,处理字符的,主要是(Reader/Write)系

.以 字 节 ( Byte) 为 导 向 的 输 入 流 ( InputStream 系 列 ) , 这 几 个 类 都 可 以 与

FileInputStream 对象相连以提供有用接口:

4

ByteArrayInputStream:把内存中的一个缓冲区作为 InputStream 使用

5

StringBufferInputStream( 在 java1.1 中 已 经 弃 用 了 ) : 把 一 个 String 对 象 作 为

InputStream,底层实现使用 StringBuffer

6

FileInputStream:把一个文件作为 InputStream,实现对文件的读取操作(文件名、文

件、

FileDescriptor 对象)

7

PipedInputStream:实现了 pipe 的概念,主要在线程中使用(作为多进程中的数据

源)

8

SequenceInputStream:把多个 InputStream 合并为一个 InputStream

以字节(

Byte)为导向的输出流(OutputStream 系列),可以与F ilterOutputStream 对

象相连以提供有用接口:

9

ByteArrayOutputStream:在内存中创建缓冲区,把信息存入内存中的一个缓冲区中,

缓冲区初始化尺寸(可选)

10  FileOutputStream:把信息存入文件中(文件名、文件、FileDescriptor)

11 PipedOutputStream:实现了 pipe 的概念,主要在线程中使用(指定用于多线程的数

据的目的地

)

.与之对应的(Reader/Writer)系列:

12 Reader:                 与 InputStream 相对应,适配器 InputStreamReader