流
来源:互联网 发布:认知心理学 知乎 编辑:程序博客网 时间:2024/05/01 20:16
流
1. 根据数据流的方向不同,分为输入流和输出流。
2. 根据数据流的单位不同,分为字节流和字符流。
3. 根据功能不同,分为节点流和处理流。
4. InputStream、OutputStream、Reader、Writer四个抽象类。
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
- 流
- 流
- 流
- 流
- 流
- 流
- 流
- 流
- 流
- 流
- 流
- 流
- 流
- 流
- 流
- 流
- 流
- 流
- 启动期间的内存管理之初始化过程概述----Linux内存管理(九)
- c# extension method
- hdu 2899 Strange fuction
- 第一次作业
- java中switch的case可以写两个参数吗比如case 3||4
- 流
- 除法逆元(ZS and The Birthday Paradox,cf 711E)
- CSU 1716 Morse
- 安卓json解析——12306查询票价的字符串解析
- OPENGL入门
- 0/1背包变化
- Cocos2d-x的设计模式
- spoj spoj839 Optimal Marks 网络流 最小割 附数据生成器
- Volley的四大请求