inputStreamReader介绍&代码实现、转化文件的编码
inputStreamReader介绍&代码实现
继承父类的共性方法
int read 读取里个字符并返回
int read(char chuf)一次读取多个字符,将字读入数组
void close 关闭流并是释放与之关联的所有资源
构造方法:
inputStreamReader(inputStream in) 创建一个使用默认字符集的inputStreamReader
inputStreamReader(inputStream in String charsetName)创建使用指定字符集的inputStreamReader
参数:
inputStream in 字节输入流,用来读取文件中保存的字节
inputStream in String charsetName:创建使用字节字符集inputStreamReader
案例:
public static void main(String[] args) throws IOException {
InputStreamReader reader = new InputStreamReader(new FileInputStream("aa.txt"), "utf-8");
int len =0;
while ((len=reader.read())!=-1){
System.out.println((char) len);
}
reader.close();
}
}
转化文件的编码
分析:
创建inputStreamReader对象,构造方法中传递字节输入流中指定的编码表名称GBK
创建inputStreamWriter对象,构造方法中传递字节输出流和指定的编码表名称UTF-8
使用inputStreamReader对象中的read方法读取文件
使用inputStreamWriter对象中的Writer把数据写入到文件中
案例:
public static void main(String[] args) throws IOException {
InputStreamReader reader = new InputStreamReader(new FileInputStream("aa.txt"), "utf-8");
OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream("bb.txt"), "utf-8");
int len =0;
while ((len=reader.read())!=-1){
writer.write(len);
}
reader.close();
writer.close();
}
}