一 IO的作用
IO的作用是读写字节。
二 IO的设计
1 IO分为字节流和字符流,但是IO的操作基本单位自有字节,字符流的作用是简化API的使用。其中字符转字节的实现是查码表,如果是UTF-8编码则是查UTF-8的码表。
2 IO分为输入流和输出流
3 所以顶层的四个接口是:InputStream/OutputStream、Reader/Writer
三 IO的使用
1 IO使用包装器模式,例如:FileInputStream fis = new FileInputStream(new File(""));
2 用缓冲流,BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(""));缓冲流的设计是,自有在buffer数组装满后才会触发一次flush
3 用完后关闭流。有个问题是:关闭外层还是外层。实验的结果是无论关闭外层还是内层再进行读写的时候都会报错,提示流已经关闭,但是自有内层的流,比如InputStream、Writer才会调用资源的关闭,调用本地方法close0()、socket()的close()方法。