乐趣区

转换流06练习转换文件编码

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();}

}

退出移动版