IO流概述

本文探讨了IO流在读写文件中的性能问题,特别关注字节流与字符流的使用,如何避免中文乱码,以及try-catch-finally在异常管理中的应用。通过实例讲解了字节输入流处理中文、字节输出流换行技巧和资源管理的最佳实践。

一、

(1)

IO流也称为输入输出流、就是用来读写数据的

I:input,是数据从硬盘文件读入到内存的过程,称之为输入,负责读

O:output,是内存程序的数据从内存到写出到硬盘文件的过程,称之输出、负责写

(2)

字节流:音频、视频文件

字符流:文本

(3)

IO流作用:读写文件数据

二、

(1)每次读取一个字节存在什么问题?

性能较慢

读取中文字符输出无法避免乱码问题

(2)每次读取一个字节数组存在什么问题?

读取的性能得以提升

读取中文字符输出无法避免乱码问题

(3)如何使用字节输入流读取中文内容不乱码?

定义一个与文件一样大的数组,一次性读取完文件的全部字节

(4)直接把文件数据全部读取到一个字节数组怎样?

如果文件过大,字节数可能引起内存溢出

(5)字节输出流如何实现写出去的数据能换行?

os.write("\r\n".getBytes());

(6)如何让写出去的数据能成功生效?

flush();     //刷新数据

close();  //关闭流,关闭包含刷新,关闭后流不可以继续使用了

三、

(1)

try-catch-finally

finally:在异常处理时提供finally块来执行所有清除操作,比如IO流中的释放资源

(2)

特点:被finally控制的语句最终一定会执行,除非JVM退出

(3)

异常的处理标准格式:try.....catch.....finally

(4)

finally代码块最终是一定要执行的,可以在代码执行完毕的最后释放资源

四、

(1)字符流的好处

读取中文字符不会出现乱码(如果文件和代码的编码一致)

(2)每次读取一个字符的问题

性能较慢

(3)文件字符输入流(FileReader)的作用

以内存为基准,把磁盘文件中的数据以字符的形式读取到内存中

(4)每次读取一个字符的优势

读取的性能得到了提升,不会乱码

(5)字节流、字符流如何选择使用

字节流适合做一切文件数据 的拷贝(音视频、文本)

字节流不适合读取中文内容输出

字符流适合做文本文件操作(读,写)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值