1.转换流
转换流
作用: 将字节流编程字符流,可以指定字符集
如果不指定字符集,采用java默认字符集
InputStreamReader isr=new InputStreamReader(fis,"gbk");
将字节输出流变成字符输出流
如果不指定字符集,采用java默认字符集
OutputStreamWriter osw=new OutputStreamWriter(fos, "gbk");
代码案例:
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class TestCastStream {
public static void main(String[] args) throws Exception {
// 字节输入流
FileInputStream fis=new FileInputStream("C:\\Users\\Administrator\\Desktop\\1.txt");
// 字节输出流
FileOutputStream fos=new FileOutputStream("C:\\Users\\Administrator\\Desktop\\2.txt");
// 转换流
// 字节输入流变成字符输入流
// 如果不指定字符集,采用java默认字符集
InputStreamReader isr=new InputStreamReader(fis,"gbk");
// 将字节输出流变成字符输出流
// 如果不指定字符集,采用java默认字符集
OutputStreamWriter osw=new OutputStreamWriter(fos, "gbk");
// 使用转换流读写
char[] c=new char[1024];
int i=isr.read(c);
while(i!=-1) {
osw.write(c,0,i);
i=isr.read(c);
}
//关闭
osw.close();
fos.close();
isr.close();
fis.close();
}
}
字符集
概念 存字符的集合,以及每个字符对应的编码。
常见三种字符集有:iso-8859-1、GBK、utf-8
作用 主要用于数据存储和传输的编码和解码。
iso-8859-1:
他就是ascii码,里面只有英文字符和对应的编码。
一个字符占1个字节(8个二进制位)。
GBK: