对于文件来说,一般的储存方式为二进制或者是十进制的,在程序运行的时候,有可能需要从文件读取内容到内存,或者将内存中的内容写入文件当中.
十进制的文件只能用字符流来读取,因为十进制的文件里面可以储存汉字,而当汉字如果用字节流来读取的话,那么就会出现乱码.
二进制的文件可以使用字符流或者字节流来读取,我的理解是:使用字节流的读取会比字符流的快很多,而且占用的内存会少,毕竟一个是byte型一个是char型的.
至于在I/O流中为什么要抛出异常,第一个就是文件查找不到的异常,纠结了半天的是为什么在调用方法的时候要抛出一个IOException,这个我思考了半天还是没想明白,网上的答案也基本上都是文件不存在的异常,或者直接写一个I/O流的异常.
我自己整理了一下,假设抛出了FileNotFoundException(文件不存在),但是计算机在执行的时候并不知道能不能找到文件,所以在使用IO流的方法的时候就需要抛出IOException(没有读出来或者写进去).大体的思路就是,如果文件不存在,计算机不知道,这个时候如果调用了方法就会有没读出来或者写进去的异常.所以就需要抛出IOException.
这是自己的心得,如果有错误的地方,希望大神们帮忙说下.谢谢大家啦
I/O学习心得
最新推荐文章于 2022-09-13 19:29:13 发布