来源:互联网 发布:认知心理学 知乎 编辑:程序博客网 时间:2024/05/01 20:16

1. 根据数据流的方向不同,分为输入流和输出流。

2. 根据数据流的单位不同,分为字节流和字符流。

3. 根据功能不同,分为节点流和处理流。

4. InputStreamOutputStreamReaderWriter四个抽象类。

1)InputStream是所有字节输入流的超类。基本方法有:

 int

available() 
          返回此输入流下一个方法调用可以不受阻塞地从此输入流读取(或跳过)的估计字节数。

 void

close() 
          关闭此输入流并释放与该流关联的所有系统资源。

 void

mark(int readlimit) 
          在此输入流中标记当前的位置。

 boolean

markSupported() 
          测试此输入流是否支持 mark 和 reset 方法。

abstract  int

read() 
          从输入流中读取数据的下一个字节。

 int

read(byte[] b) 
          从输入流中读取一定数量的字节,并将其存储在缓冲区数组 b 中。

 int

read(byte[] b, int off, int len) 
          将输入流中最多 len 个数据字节读入 byte 数组。

 void

reset() 
          将此流重新定位到最后一次对此输入流调用 mark 方法时的位置。

 long

skip(long n) 
          跳过和丢弃此输入流中数据的 n 个字节。

 

2)OutputStream是所有字节输出流的超类。基本方法有:

void

close() 
          关闭此输出流并释放与此流有关的所有系统资源。

 void

flush() 
          刷新此输出流并强制写出所有缓冲的输出字节。

 void

write(byte[] b) 
          将 b.length 个字节从指定的 byte 数组写入此输出流。

 void

write(byte[] b, int off, int len) 
          将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此输出流。

abstract  void

write(int b) 
          将指定的字节写入此输出流。

3)Reader是字符输入流。基本方法有:

abstract  void

close() 
          关闭该流并释放与之关联的所有资源。

 void

mark(int readAheadLimit) 
          标记流中的当前位置。

 boolean

markSupported() 
          判断此流是否支持 mark() 操作。

 int

read() 
          读取单个字符。

 int

read(char[] cbuf) 
          将字符读入数组。

abstract  int

read(char[] cbuf, int off, int len) 
          将字符读入数组的某一部分。

 int

read(CharBuffer target) 
          试图将字符读入指定的字符缓冲区。

 boolean

ready() 
          判断是否准备读取此流。

 void

reset() 
          重置该流。

 long

skip(long n) 
          跳过字符。

4)Writer是字符输出流。主要方法有:

 Writer

append(char c) 
          将指定字符添加到此 writer。

 Writer

append(CharSequence csq) 
          将指定字符序列添加到此 writer。

 Writer

append(CharSequence csq, int start, int end) 
          将指定字符序列的子序列添加到此 writer.Appendable。

abstract  void

close() 
          关闭此流,但要先刷新它。

abstract  void

flush() 
          刷新该流的缓冲。

 void

write(char[] cbuf) 
          写入字符数组。

abstract  void

write(char[] cbuf, int off, int len) 
          写入字符数组的某一部分。

 void

write(int c) 
          写入单个字符。

 void

write(String str) 
          写入字符串。

 void

write(String str, int off, int len) 
          写入字符串的某一部分。

 

 

5. 节点流:可以从一个特定的数据源(节点),读写数据。

 

 

 

   

  

  

File(文件)

FileReader

FileWriter

FileInputStream

FileOutputStream

Memory Array

CharArrayReader

CharArrayWriter

ByteArrayInputStream

ByteArrayOutputStream

Memory String

StringReader

StringWriter

Pipe(管道)

PipedReader

PipedWriter

PipedInputStream

PipedOutputStream

 

6. 处理流:是连接在已存在的流上,通过对数据的处理是程序具有更为强大的读写功能。

 

处理类型 

  

  

Buffering

BufferedReader

BufferedWriter

BufferedInputStream

BufferedOutputStream

Filtering

FilterReader

FilterWriter

FilterInputStream

FilterOutputStream

Converting between bytes and character

InputStreamReader

OutputStreamWriter

 

Object Serialization

ObjectInputStream

ObjectOutputStream

Data conversion

DataInputStream

DataOutputStream

Counting

LineNumberReader

LineNumberInputStream

Peeking ahead

PusbackReader

PushbackInputStream

Printing

PrintWriter

PrintStream

 

 

0 0
原创粉丝点击