刚学Java的IO流时,被各种inputStream流弄的很迷糊,看老罗视频时说想象成插在文件上的一根管道,当初听时觉得自己很明白,可到自己用时,有不知道怎么代码了。。。
每当遇到这种问题时,我习惯性的从头开始理逻辑,会问自己一些很简单的问题,把这些简单的问题想明白了,再看代码时才不会迷糊。
IO流作用是什么?
答:实现对文件的读写,这里的文件是广义的;
Java如何实现程序到文件的映射?
答:File file=new File(String s);这里构造函数中的参数可以是一个目录的路径,也可以是一个文件的路径;
Java如何在程序中实现文件的读写?
答:其实我们用另外一个类或许能解释的更清楚
FileReader fr=new FileReader(file);
FileWriter fw=new FileWriter(file);
是的,File只是建立其了程序到文件的映射,而上面两个类才提供读写功能。
自然有人会问,那么FileInputStream和FileOutputStream是干嘛的呢?这两个类其实和上面两个类的作用类似,不同点在于这个类对文件的读写是基于字节的,而FileWriter是基于字符的。所以如果是纯文本操作,用FielWriter自然是更方便一点喽。
所谓的管道,只是帮助你理解,如果不能更加愉快的理解这个模型,那么便自己尝试去找一个模型去理解,不要死磕。