IO总结
一、步骤: 创建源 选择流 操作(读取|写出) 释放流
节点流:离数据源|程序最近的流 处理流:装饰模式 提高性能增强功能
- 字节流:可以处理一切(纯文本、音频、视频等)
- 1)、输入流 InputStream FileInputStream
 ByteArrayInputStream
 操作:read(字节数组)
- 中间容器 byte[] flush=new byte[长度]
- 接收长度 int len =0;
- 循环读取 while(-1!=(len=流.read(flush))){}
- 操作:输出、拷贝
- 2)、输出流 OutputStream FileOutputStream
 ByteArrayOutputStream
 操作:write(字节数组,0,长度) 输出
- 字符流:只能处理纯文本
- 1)、输入流:Reader FileReader
 操作:read(字符数组)
- 中间容器 char[] flush=new char[长度]
- 接收长度 int len =0;
- 循环读取 while(-1!=(len=流.read(flush))){}
- 操作:输出、拷贝
- 2)、输出流:Writer FileWriter
 操作:write(字符数组,0,长度) 输出
处理流:装饰模式 提高性能增强功能
- 转换流:解码与编码字符集问题
- 1)、输入流:InputStreamReader à解码
- 2)、输出流:OutputStreamWriter—>编码
- 缓冲流:提高性能
- 1)、输入流:BufferedInputStream BufferedReader
- 2)、输出流:BufferedOutputStream BufferedWriter
- 处理数据+类型
- 1)、基本+字符串:必须存在才能读取 读取与写出顺序一致
- 输入流:DataInputStream readXxx
- 输出流:DataOutputStream writeXxx
- 2)、引用类型:Serializable transient
- 反序列化:ObjectInputStream readObject
- 序列化:ObjectOutputStream writeObject
- 打印流: PrintStream
- System.in out err setIn setOut
以下流使用新增方法不能发生多态
1、 ByteArrayOutputStream: toByteArray()
2、 BufferedReader: readLine()
3、 BufferedWriter:newLine()
4、 DataInputStream DataOutputStream
5、 ObjectInputStream ObjectOutputStream
6、 PrintStream
三、重点
四、操作
0、打印文件|目录
1、文件拷贝
2、关闭流方法
3、文件分割与合并(自学)

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号