一、I/O流的作用:
狭义:用于文件操作
广义: I/O 输入(Input)和输出(Output)-读和写
流 不同介质数据传递-两端 A(写出)->B(读入) 硬盘和内存
网络编程 JMF(java media frame 摄像头 音频 视频) native
TCP/IP
二、字符集:
(1)规定了一套从16位转8位的算法 (有双8位(GBK) ,三8位算法(UTF-8))
(2)也规定了一套自己的取值范围 超过范围的元素则表示?,符合范围的元素会显示预期对应的字符,只要是有对应的元素,unicode都一样
如何处理乱码
(1) 拆组字符集一致
(2) 过程中内容不能变
三、Java文件流:
分为字节型和字符型
1.字节型输入流(以字节为单位读文件)
FileInputStream(文件字节型输入流 )
常用方法:
1.int read() 从此输入流中读取一个字节。 返回值代表读取元素的值
2.int read(byte[] b) 从输入流中读取byte数组所指定的长度的元素。返回值代表读取有效元素的个数
以上两个方法中返回值在文件读取末尾时都会返回-1
2.字节型输出流(以字节为单位写文件)
FileOutputStream (文件字节型输出流)
1. void write(int b) 从此输出流中写一个字节
2. void write(byte[] b) 从输出流中写byte数组
注意:输入流就是读文件,输出流就是写文件
3.字符型输入流(以字符为单位读文件)
FileReader
常用方法:
1.int i = fr.read();//读取单个字符
2.int i = fr.read(char[] c);//读取的有效字符数
4.字符型输出流(以字符为单位写文件)
FileWriter
常用方法:
1. fr.write();//写单个字符
2. fr.write(char[] c);//写一个字符数组