利用转换流将GBK格式文件以UTF-8输出_Java_十里の清风

CSDN博客 · · 467 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。
   解题思路:
      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"  读取出来的乱码,那就转换成功了!


我写的代码如下:


  1. package HomeWork3;
  2. import java.io.FileInputStream;
  3. import java.io.FileOutputStream;
  4. import java.io.IOException;
  5. import java.io.InputStreamReader;
  6. import java.io.OutputStreamWriter;
  7. public class GBKtoUTF {
  8. public static void main(String[] args) throws IOException {
  9. InputStreamReader isr = new InputStreamReader(new FileInputStream("g:\\gbk.txt"), "gbk");
  10. OutputStreamWriter isw = new OutputStreamWriter(new FileOutputStream("h:\\utf.txt"), "utf-8");
  11. int len = 0;
  12. while ((len = isr.read()) != -1) {
  13. isw.write(len);
  14. }
  15. isw.close();
  16. isr.close();
  17. }
  18. }



测试是否乱码 代码如下:

  1. package HomeWork3;
  2. import java.io.FileInputStream;
  3. import java.io.IOException;
  4. import java.io.InputStreamReader;
  5. public class Test_CodeFormat {
  6. public static void main(String[] args) throws IOException {
  7. // 创建自己输入流,传递文本文件
  8. FileInputStream fis = new FileInputStream("h:\\utf.txt");
  9. // 创建转换流对象, 构造方法,包装字节输入流
  10. InputStreamReader isr = new InputStreamReader(fis, "utf-8");
  11. char[] ch = new char[1024];
  12. int len = isr.read(ch);
  13. System.out.println(new String(ch, 0, len));
  14. isr.close();
  15. }
  16. }






本文来自:CSDN博客

感谢作者:CSDN博客

查看原文:利用转换流将GBK格式文件以UTF-8输出_Java_十里の清风

467 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传