摘要:
前面在介绍FileReader和FileWriter的时候有说到,FileReader的读取字符功能,以及FileWriter的写出字符的功能,都不是它们自己实现的,而是,它们分别继承了InputStreamReader和OuputStreamWriter这两个转换流,利用这两个转换流,实现了字节数 阅读全文
摘要:
1. 概念简介 与字节缓冲流BufferedInputStream和BufferedOutputStream对应的,我们还有字符缓冲流BufferedReader和BufferedWriter,顾名思义,它们是带有字符缓冲区的字符输入输出流,原理跟字节缓冲流一样,这两个流也是使用装饰模式对底层字符流 阅读全文
摘要:
1. 概念简介 BufferedInputStream和BufferedOutputStream是带缓冲区的字节输入输出处理流。它们本身并不具有IO流的读取与写入功能,只是在别的流(节点流或其他处理流)上加上缓冲功能以提高效率,就像是把别的流包装起来一样,因此缓冲流是一种处理流。事实上,这两个处理流 阅读全文
摘要:
FileReader和FileWriter的源码相对简单,下面通过分析它们的源码以更好地进行理解这两个流 1. FileReader FileReader实现了读取底层的字节数据并将其转换为字符数据的功能,转换时依赖的字符集为平台默认的字符集GBK(Windows平台)。 FileReader源码如 阅读全文
摘要:
1. FileInputStream FileInputStream是一个文件输入节点流,它是一个字节流,它的作用是将磁盘文件的内容读取到内存中。 FileInputStream的父类是InputStream。 该类的源码感觉不用细看,因为它是节点流,已经是相对底层的了,读源码没法读出来它是怎么实现 阅读全文
摘要:
1 流的概念 流是一个信息的通道,通过通道可以访问通道连接的文件对象。 2 流的分类 根据流中数据的流向,可分为输入流和输出流 根据流中数据的流向,可分为输入流和输出流 输入流:从其他的地方流入到程序内存中的,比如InputStream、Reader 输出流:从程序内存将数据写出到目的地。比如:Ou 阅读全文
摘要:
下面演示java中处理I/O操作时的异常的正确方式,总结自书籍,书名忘啦~ 先看一种不正确的方式 方式一: 注意到前面的代码在读取文件的try代码块完成后关闭了文件流,虽然这种方法在某些情况下有用,但是Java提供了一种在通常情况下更好的方法。即,在finally代码块中调用close()。在这种方 阅读全文