字节流,字符流小总结
<1>整体流程是相同的: 明确文件(路径) > 打开管道>操作文件==>关闭资源
<2>核心方法相同
①read()
读取,输入
②write()
写入,输出
<3>输出流有创建文件的能力 ;
<4>输出流需要注意是【删除写】还是【追加写】【这是在创建输出流对象时确定并执行的】
<5>最后一定要记得关闭资源;
字符流字节流对比
【小补充】
<1>字符流处理的单元为2个字节的Unicode字符,分别操作字符,字符数组或字符串,而字节流处理单元为1个字节,操作字节和字节数组;所以字符流是由java虚拟机将字节转化为2个字节的Unicode字符为单位的字符而成的;所以字符流对于多国语言支持性都是比较好的;
<2>如果是音频文件,图片,歌曲,就用字节流好点,如果是关系到中文的,用字符流好点,所有文件的存储都是字节存储,在磁盘上保留的并不是文件的字符,而是先把字符编码成字节,再存储这些字节到磁盘;
<3>字节流可以用于任何类型的对象,包括二进制对象,而字符流只能处理字符或者字符串;
<4>字节流提供了处理任何类型的IO操作的功能,但他不能直接处理Unicode字符,而字符流就可以;
<5>字节流一般没有缓冲区【代码运行完write()方法之后文件就会写入】;字符流有缓冲区,【当代码执行完write()方法之后并不会直接写入文件,而是等运行完关闭close()方法之后才会写入文件】
原文链接:https://blog.csdn.net/qq_35122713/article/details/88793019