黑马程序员-— I/0流
1,I/O流作用:
i/o其实就是和计算各个设备的进行数据传输的一个通路。用于读取和写入计算机各个设备上的数据
2,I/O流分类:
I/O流 主要是是字节流和字符流,当然还有一些别的流,如果用到直接去查API就可以。3,字节流
字节流主要是InputStream和OutputStream,他是所有字节流的父接口,InputStream和OutputStream最常用的两个子类是FileInputStream和FileOutputStream,可以通过read(),和write()读取和写入文件。注:用FileOutputStream中的write()方法写入的是字节,即方法中传入的参入的参数是字节;FileOutputStream中的read()方法读取的是字节,返回的是字节查表所对应的数字。
4字符流:
字符流主要有Reader和Writer,他们是所有字符流的一个父接口。比较常用的两个子类是FileReader和FileWrite,可通过read()和write()方法读取和写入,注:他们读取和写入的都是字符5什么时候用字节流,什么时候用字符流?
当你读取的是图片,视频,或文件里面是都是英文的时候可用字节流;当你读到的文件,里面有中文时,最好用字符流,因为一个中文字符等于两个字节,如果这个文件都是中文,你定义存放在内存中的数组大小是偶数,没事,如果你定义的数组是奇数,就会出现乱码。还有就是你读取这个中文文件的编码表和你系统的编码不一致,中间要用一个转换流,即:OutputStreamReader和InputStreamWrite来指定编码表,他们在创建的时候都会把原文件的内容给清空,如果你不想文件被清空清空,想在文件末尾,在继续写,在创建的时候用哪个带有真假值的构造方法即可,如果他们所关联连的文件不存在系统也会自动给他创建一个这样的文件