A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© shuimu_88 中级黑马   /  2014-8-14 18:41  /  1130 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

用OutputStreamWriter指定utf-8编码也会出现中文乱码,程序如下,请各位同学纠错,谢谢!!!

  1. <p> //用指定编码表复制一个有中文的.doc文件
  2. import java.io.*;
  3. class SetCodeSheet
  4. {
  5. public static void main(String[] args)
  6. {
  7.   printDoc();//忘调用!!!
  8. }
  9. public static void printDoc()
  10. {
  11.   BufferedReader fr=null;
  12.   BufferedWriter fos=null;
  13.   try
  14.   {
  15.    fr=new BufferedReader(new InputStreamReader(new FileInputStream("F:\\Film\\czvxuzrwzi66r6ru6ixipsu6_1.doc")));
  16.    fos=new BufferedWriter(new OutputStreamWriter(new FileOutputStream("new.doc"),"utf-8"));
  17.    String line=null;
  18.    while((line=fr.readLine())!=null)
  19.    {
  20.     fos.write(line);//易忘地方!!!忘传参数!!
  21.     fos.newLine();
  22.     fos.flush();
  23.    }
  24.   }
  25.   catch (IOException e)
  26.   {
  27.    throw new RuntimeException("复制失败");
  28.   }
  29.   finally
  30.   {
  31.    if(fr!=null)
  32.     try
  33.     {
  34.      fr.close();
  35.     }
  36.     catch (IOException e)
  37.     {
  38.      throw new RuntimeException("读取失败");
  39.     }
  40.    if(fos!=null)
  41.     try
  42.     {
  43.      fos.close();
  44.     }
  45.     catch (IOException e)
  46.     {
  47.      throw new RuntimeException("输出失败");
  48.     }
  49.   }
  50. }
  51. }</p>
复制代码


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马