io流
它们都在java.io包里
File类
- File(FileInputStream , , ,)
IO流的分类与原理
字符流
- Reader
- Writer
在这里的throws IOException:假设第一次没有抛出异常,等到read()的时候才抛出异常,抛出异常之后就会直接跳出程序,导致流没有关闭。我们需要在跑异常的情况下都要关闭流,所以用try-catch-finally更为合适。
对read()的升级;
注意:此处的异常要改成try-catch-finally(这里为了便于查看步骤)
使用FileReader和FileWriter实现文本文件的复制,处理异常同上
字节流
- 输入InputStream
- 输出 OutputStream
实现非文本的复制(以上错误用try-catch-finally抛出异常)
缓冲流buffer(处理流之一)
处理流就是为了提高读写的效率
- bufferInputStream
- bufferOutputStem
- bufferReader
- bufferWriter
数据流Data(处理流之一)
- DateInputStream
- DataOutputStream
转换流
提供字节流和字符流的一种转换
- InputStreamReader
- OutPutStreamWriter
标准的输入输出System.in/out
以下例子在eclipse是可以运行的,要是IDEA的话就要改成main方法就可以了(IDEA有自己的规定)
- Filter
- FilterInputStream
- FilterOutputStream
- FilterReader
- FilterWriter
- print
- PrintWriter
- PrintStream
序列化 反序列化 Serializable
序列化:用ObjectOutputStream类保存基本类型数据或对象的机制
反序列化:用ObjectInputSream类读取基本类型数据或者对象的机制
节点流
- CharArrayReader,Writer,InputStream,OutputStream
- StringReader,Writer
- Pipe(管道流) PipeOutputStream