package com.itheima.demo03.ReverseStream;
import java.io.*;
/*
练习:转换文件编码
将 GBK 编码的文本文件,转换为 UTF- 8 编码的文本文件。分析:
1. 创建 InputStreamReader 对象, 构造方法中传递字节输入流和指定的编码表名称 GBK
2. 创建 OutputStreamWriter 对象, 构造方法中传递字节输出流和指定的编码表名称 UTF-8
3. 使用 InputStreamReader 对象中的方法 read 读取文件
4. 使用 OutputStreamWriter 对象中的方法 write, 把读取的数据写入到文件中
5. 释放资源
*/
public class Demo04Test {
public static void main(String[] args) throws IOException {
//1. 创建 InputStreamReader 对象, 构造方法中传递字节输入流和指定的编码表名称 GBK
InputStreamReader isr = new InputStreamReader(new FileInputStream("10_IO\\ 我是 GBK 格式的文本.txt"),"GBK");
//2. 创建 OutputStreamWriter 对象, 构造方法中传递字节输出流和指定的编码表名称 UTF-8
OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("10_IO\\ 我是 utf_8 格式的文件.txt"),"UTF-8");
//3. 使用 InputStreamReader 对象中的方法 read 读取文件
int len = 0;
while((len = isr.read())!=-1){
//4. 使用 OutputStreamWriter 对象中的方法 write, 把读取的数据写入到文件中
osw.write(len);
}
//5. 释放资源
osw.close();
isr.close();}
}