CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 基础类

急!高分请教高手,关于读取中文文件乱码问题!

楼主zhongyiyutou(芋头)2005-06-03 15:57:54 在 Java / J2SE / 基础类 提问

请问,我下面这两个方法,第一个方法在读取中文文件时,显示出来的结果是乱码;第二个方法,在读取和写入中文文件时候都是乱码,请问这是为什么,该怎么才能解决中文问题呢,高手请帮我啊,高分相送。  
   
  public     List   readFileToList(File   file)   {  
                  BufferedReader   breader;  
                  List   list;  
                  String   line;  
                  list   =   new   ArrayList();  
                  try   {  
                          breader   =   new   BufferedReader(new   FileReader(file));  
                          while   ((line   =   breader.readLine())   !=   null)  
                                  list.add(line);  
                          breader.close();  
                  }   catch   (IOException   e)   {  
                          e.printStackTrace();  
                  }  
                  return   list;  
          }          
   
          public     void   copyFile(String   sourcename,   String   targetname)  
                          throws   Exception   {  
                  BufferedReader   breader;  
                  BufferedWriter   bwriter;  
                  try   {  
                          breader   =   new   BufferedReader(new   FileReader(sourcename));  
                          bwriter   =   new   BufferedWriter(new   OutputStreamWriter(  
                                          new   FileOutputStream(targetname)));  
                          while   (breader.ready())  
                                  bwriter.write(breader.read());  
                          breader.close();  
                          bwriter.close();  
                  }  
                  catch   (Exception   e)   {  
                          throw   e;  
                  }  
          } 问题点数:100、回复次数:7Top

1 楼newste(旭林)回复于 2005-06-03 16:12:23 得分 5

markTop

2 楼treeroot(旗鲁特)回复于 2005-06-03 16:17:03 得分 10

读取文件时编码不对Top

3 楼xiaopeipei2004(小裴)回复于 2005-06-03 16:21:21 得分 20

//第一个这样转一下  
  try   {  
  String   temp;  
  byte[]   temp_byte   =   str.getBytes("ISO8859-1");  
  temp   =   new   String(temp_byte,   "GBK");  
  return   temp;  
  }   catch   (Exception   e)   {  
  return   null;  
  }  
  //第二个,在write()方法后,加一句  
  String   tmp   =   bwriter.toString("GBK");  
   
  //其中的编码,要看你的需要了Top

4 楼harbor1981(我向你飞,泪温柔地坠!)回复于 2005-06-03 16:29:36 得分 5

学习  
   
  temp   =   new   String("iso8859_1",   "GBK");Top

5 楼eureka0891(迷茫中...)回复于 2005-06-03 17:53:29 得分 20

上面说的是一种方法,更好的方法是打开,或者写文件时按照一定的编码就什么问题都没有了  
  new   BufferedReader(new   InputStreamReader(new   FileInputStream(file),"GB23122"));  
  Top

6 楼Jolestar(叶明)回复于 2005-06-03 18:38:20 得分 20

楼上的方法更好一些.  
  用java   io时要注意  
  把InputStream   转换为   Reader时要注意编码,  
  因为InputStream是字节流,而Reader是以字符为单位.Top

7 楼airhand(暴风雨)回复于 2005-06-03 19:24:39 得分 20

加上相关的编码操作。  
  如果上面的结果还是不正确,此外在你的system的属性中,查看当前的字符集是否使你想要的,不是的话,用SetProPerty()改变它。Top

相关问题

  • 从文本文件中读取中文产生的乱码
  • struts中读取资源文件,中文乱码怎么解决?
  • 『求救』JSTL读取xml文件中的中文显示乱码
  • 读取资源文件中文为乱码
  • 读取含有中文的文本文件出现乱码?(急)
  • vc读取中文乱码!!!!
  • 使用File.OpenText读取Ansi文本文件时,出现中文乱码
  • 我用php读取文件中的中文字符为什么变成乱码?
  • 从TXT文件里读取中文,读出来的全是乱码!
  • 高分求救 我在UNIX系统上 读取文件中文乱码问题

关键词

  • 乱码
  • 文件
  • 编码
  • 中文
  • breader
  • bwriter
  • bufferedreader
  • 方法
  • 问题
  • gbk

得分解答快速导航

  • 帖主:zhongyiyutou
  • newste
  • treeroot
  • xiaopeipei2004
  • harbor1981
  • eureka0891
  • Jolestar
  • airhand

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo