FileInputStream和FileOutputStream分别用来创建磁盘文件的输入流和输出流,构造函数来指定文件的路径和文件名。这里的In和out也是相对应用程序来说的,FileInputStream指定的文件是存在且是可读的,FileOutputStream这个对象时,文件已经存在,就覆盖掉,不存在就创建一个,但是不能是已经被其他应用程序打开的文件,附上自己的练习。
FileOutputStream和FileInputStream最大的缺点就是要将字符装换为字节才能操作,而直接操作字符的类是Writer和Reader类,他们是所有字符流类的抽象的基类,简化了对字符串的输入输出的编程,即用于读取文本数据。二进制文件和文本文件的区别:在不考虑负数的情况下,每个字节的数据可以是0到255之间的任何数字,在内存中都是以二进制的形式存放的,文件就是内存中的数据复制到硬盘中的存储形式,文件中的每个数据都是2进制形式的,文本字符是由一个或者是多个字节组成的。但是字节的数字不能像是二进制文件那样是0到255之间是任意的,是0到255之间的一些特殊的数字,有些数字是在其他任何字符的数据中都不可以对应到字符上面,如果一个文件中的每个字节或每相邻的几个数据都可以表示为一个字符,这样的文件就是文本文件,文本文件只是二进制文件的一种特例,我们把文本文件以外的文件成为二进制文件,简单理解为把只含有文本,不含字符之外的其他数据,就称之为文本文件,除此之外的文件就是二进制文件,writer和reader这两个类主要用于读取文本格式的内容,
虽然在写入字节数组时,字节数组会自动调用底层的close方法,不用关闭,关也没事。
FileReader读取的字符,要转化为字符串,因此,不十分简便。