日期:2014-05-20  浏览次数:20650 次

一个关于InputStreamReader的编码问题
问题:(操作系统为中文操作系统,为什么处理以后a.txt和c.txt内容会不一样)

InputStreamReader   isA=new   InputStreamReader(new   FileInputStream( "c:\\a.txt "), "iso8859-1 ");
              FileWriter   frA=new   FileWriter( "c:\\b.txt ");
              int   tempA=0;
              while(     (tempA=isA.read())!=-1){
                      frA.write(tempA);
              }              
              isA.close();
              frA.close();
             

            InputStreamReader   isB=new   InputStreamReader(new   FileInputStream( "c:\\b.txt "), "gbk ");
            FileWriter   frB=new   FileWriter( "c:\\c.txt ");
            int   tempB=0;
            while(     (tempB=isB.read())!=-1){
                    frB.write(tempB);
            }              
            isB.close();
            frB.close();

------解决方案--------------------
你先看一下这篇文章吧
http://tech.sina.com.cn/s/s/2004-11-15/1403459384.shtml
------解决方案--------------------
iso-8859-1为西方国家的字符集编码,GBK为中文的字符集编码.
肯定会不一样
------解决方案--------------------
不用这样吧,默认就行了