-如题直接上代码:
import java.io.*;
public class Demo02 {
/*
练习:转换文件编码
将UTF-8编码的文本文件,转换成GBK编码的文本文件
分析:
1.创建InputStreamRead对象,构造方法中传递字节输入流和指定的编码表名称:UTF-8
2.创建OutputStreamWriter对象,构造方法中传递字节输出流和指定的编码表名称:GBK
3.使用InputStreamRead对象中的read()方法读取文件
4.使用OutputStreamWriter对象中的write方法,把读取的数据写入到文件中
5.释放资源
*/
public static void main(String[] args) throws IOException {
show01();
}
private static void show01() throws IOException {
//1.创建InputStreamRead对象,构造方法中传递字节输入流和指定的编码表名称:GBK
InputStreamReader isr = new InputStreamReader(new FileInputStream("C:\\Users\\why\\Desktop\\untitled\\src\\test\\a.txt"),"gbK");
//2.创建OutputStreamWriter对象,构造方法中传递字节输出流和指定的编码表名称:UTF-8
OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("C:\\Users\\why\\Desktop\\untitled\\src\\test\\a2.txt"),"utf-8");
//3.使用InputStreamRead对象中的read()方法读取文件
int len =0 ;
while ((len=isr.read())!=-1){
// 4.使用OutputStreamWriter对象中的write方法,把读取的数据写入到文件中
osw.write(len);
}
// 5.释放资源,再调用close的时候会自动调flash的接口进行刷新
osw.close();
isr.close();
}
}