本次复习的是I/O(输入/出)(总体的复习)
InputStream输入流/OutputStream输出流
Node Stream节点流 /Processing Stream处理流
Character Stream 字符流/Byte Stream字节流
按照数据流动的方法:有输入流和输出流
输入流只能读取数据,不能写出数据
输出流只能写出数据,不能读入数据
除了RandomAccessFile类(即可读也可写)
按照数据流所关联的是数据源还是其他数据流:节点流和处理流
节点流直接连接到数据源(用read来读,按字符,要多次,容易出现乱码)
处理流并不直接连接到数据源,是对一个已存在的流连接和封装
通过所封装的流的功能调用实现增强的数据读/写功能(通常用这个)
按照传输的大小划分:字符流和字节流
凡是以 InputStream和OutputStream结尾的为字节流
以Reader和writer结尾的是字符流
InputStream(输入流)
所有字节输入流类型的父类,包含的方法
read() 从输入流中读取数据的下一个字节。 返回 0 到 255 范围内的 int 字节值
read(byte[] buffer)将读取的数据保存在buffer数组中
int available()返回当前,在以后还有多少个字节可读
skip(long n)跳过多少字节,从n+1个字节开始读
mark(int readlimit)做标记
reset()返回到做标记的地方
close()关闭当前输入流
InputStream——FileInputStream(文件输入流)
--ObjectInputStream(对象输入流)
--FilterInputStream--->DataInputStream/PushbackInpustream/BufferedInpustrea/LineNumberInputStream
--PipedInputStream(管道流)
--SequenceInputStream(逻辑串联)
--StringBufferInputStream(已过时)
--ByteArrayInputStream(包含一个内部缓冲区)
OutputStream(输出流)
所有字节输出流类型的抽象父类,他含的方法
write(int c)输出一个数据
close()关闭输出流
flush()清空输出缓冲区
OutputStream--FileOutputStream
--ObjectOutputStream
--FilterOutputStream-->DataOutputStream/PrintStream/BufferedOutputStream
--PipedOutputStream
--ByteArrayOutputStream
Reader:是所有字符输入流类型的父类
read()读取数据
close()关闭
其它方法和InputStream一样
Reader--BufferedReader-->LineNumberReader
CharArrayReader
StringReader
InputStreamReader-->FileReader
PipedReader
FilterReader-->PushbackReader
Writer:是所有字符输出流的父类
writer()写出数据
其它方法和OutputStream一样
Writer--BufferedWriter
CharArrayWriter
StringWriter
OutputStreamWriter-->FileWriter
PrintWriter
PipedWriter
FilterWriter
详细方法如下https://bbs.bccn.net/viewthread.php?tid=307635&extra=page%3D1&frombbs=1