1.字节流和字符流选择
字节流:
字节流读取的时候,读到一个字节就返回一个字节; 主要用于读取图片,MP3,AVI视频文件。
字符流:
字符流使用了字节流读到一个或多个字节,如读取中文时,就会一次读取2个字节。只要是处理纯文本数据,就要优先考虑使用字符流。
其中最重要的类是InputStreamReader, 它是字节转换为字符的桥梁。
2.处理流和节点流
节点流:
和操作系统紧密连接的流。该层的与文件输入输出的操作都比较原始,没有进过优化,功能比较单一。是基础的类型
(FileReader,FileWriter和FileInputStream,FileOutStream都是输入节点流。)
处理流:
该层流是对节点流的封装,对节点流中进行优化,加入缓冲器,提供更加丰富的API等。我们一般都使用处理流,在创建处理流对象的时候一般都需要节点流对象作为其构造参数。功能更强大,方法更多样。
(BufferedInPutStream,BufferedOutPutStream和BufferedWriter,BufferedReader)