1、InputStreamReader转换流简介:
- 转换流:java.io.InputStreamReader:
-
InputStreamReader extends Reader,
因此InputStreamReader也能使用父类的功用方法:read(),read(char[] ch),close(),…
InputStreamReader常用的构造方法:
- 1)InputStreamReader(InputStream in):参数为字节输入流,默认解码格式为UTF-8
- 2)InputStreamReader(InputStream in,String charset):参数为字节输入流和指定的解码格式charset
2、实现步骤:
- 1、创建InputStreamReader对象,指定字节输入流文件和解码格式;
- 2、调用read()方法,读取文件;
- 3、释放资源。
3、读取默认编码格式的文件(UTF-8) — outputStreamWriter.txt
InputStreamReader isr = new InputStreamReader(new FileInputStream("MyBatis01\\outputStreamWriter.txt"));
//读取文件
char[] ch = new char[1024];
int leng = 0;
while((leng = isr.read(ch)) != -1){
//System.out.println((char)leng);
System.out.println(new String(ch,0,leng));
}
//释放资源
isr.close();
4、读取GBK编码格式的文件
InputStreamReader isr1 = new InputStreamReader(new FileInputStream("MyBatis01\\GBKFile.txt"),"GBK");
//读取文件
char[] ch1 = new char[1024];
int len = 0;
while((len = isr1.read(ch1)) != -1){
//System.out.println((char)leng);
System.out.println(new String(ch1,0,len));
}
//释放资源
isr1.close();
}
5、注意事项:要读取文件编码格式和转换流设置的解码格式要保持一致,不然解码会出现乱码现象