- IO流在j2se中有重要的作用,首先根据流向可以分为输入流,输出流,这里的输入输出是相对于程序语言而说的。根据传输的数据不同可以分为字节流,字符流,其中字符流仅能处理纯文本数据源。根据功能不同分为节点流和处理流。
- 字节流输入流-InputStream,字节输出流-OutputStream,字符输入流-Reader,字节输出流-Writer
- 执行一组IO操作的顺序为建立和源的联系(File,内存字节ByteArray,基本数据类型和String-DataInputStream/DataOutputStream,引用类型ObjectInputStream/ObjectOutputStream)——>选择流——>操作(接收数组大小byte[],read,write)——>关闭流。
- 处理流中有缓冲流——字节缓冲流(BufferedInputStream/BufferedOutputStream),字符缓冲流(BufferedReader/BufferedWriter)其中字符缓冲流中加入新方法readLine(),所以其中不能有多态存在。转换流——字节流转字符流,主要用于处理乱码(因为编码集和解码集的差异),输入流(InputStreamReader-解码)输出流(OutputStreamWriter-编码)。
- 编码——字符转二进制;解码——二进制转字符。
- 序列化——输出流ObjectOutputStream/WriteObject();反序列化——输入流ObjectInputStream/ReadObject();
- 先序列化再反序列化,能序列化的对象必须实现java.io.serializable接口,不需要序列化的属性前加transient关键字。
- 编写工具类关闭流。
package csdreamlab.io.file; import java.io.Closeable; import java.io.IOException; public class FileUtil { public static void close(Closeable ... io) { for(Closeable temp : io) { if(temp!=null) { try { temp.close(); } catch (IOException e) { e.printStackTrace(); } } } } }
芝兰生于幽林,不以无人而不芳;
君子修道立德,不以穷困而改节;

浙公网安备 33010602011771号