您的位置:首页 > 其它

利用转换流将GBK格式文件以UTF-8输出

2018-01-22 22:24 405 查看
  3.利用转换流将GBK格式文件以UTF-8输出

   
   解题思路:

      1,InputStreamReader(File file,"gbk");读入文件

      2,OutputStreamReder(File file,"utf-8"); 写入文件

      3,验证上面的是否正确,就用 "utf-8" "gbk" 格式

         分别读取一次文件 

          InputStreamReader(File file,"utf-8")

         InputStreamReader(File file,"gbk")

          如果文件里面的中文用"utf-8" 读取不乱码
                     而用"gbk"  读取出来的乱码,那就转换成功了!

我写的代码如下:

package HomeWork3;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class GBKtoUTF {
public static void main(String[] args) throws IOException {
InputStreamReader isr = new InputStreamReader(new FileInputStream("g:\\gbk.txt"), "gbk");
OutputStreamWriter isw = new OutputStreamWriter(new FileOutputStream("h:\\utf.txt"), "utf-8");
int len = 0;
while ((len = isr.read()) != -1) {
isw.write(len);
}
isw.close();
isr.close();
}
}

测试是否乱码 代码如下:

package HomeWork3;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;

public class Test_CodeFormat {
public static void main(String[] args) throws IOException {

// 创建自己输入流,传递文本文件
FileInputStream fis = new FileInputStream("h:\\utf.txt");
// 创建转换流对象, 构造方法,包装字节输入流
InputStreamReader isr = new InputStreamReader(fis, "utf-8");
char[] ch = new char[1024];
int len = isr.read(ch);
System.out.println(new String(ch, 0, len));
isr.close();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: