试了很多方法读出来的都是乱码,郁闷…… #$#%
请教下大家是如何处理这类问题的?最好能贴下具体的代码

解决方案 »

  1.   

    用ultraedit把字符集转一下好像就可以了,读出来不会有问题的
      

  2.   

    你文本文件的编码可能就不对
    如果用utf-8编码,程序直接读就行了
      

  3.   

    看看这
    http://community.csdn.net/Expert/topic/4496/4496606.xml?temp=.9900629
      

  4.   

    FileInputStream 按字节读取文件.
    而中文是unicode的话,就是一个汉字字符两个字节.
    所以用FileReader就可以按unicode来读取字符.因此
    文本也最好保存为unicode.
    读取中文字符最好用FileReader类
      

  5.   

    这是个典型的中文编码的问题
    你的 txt 文件中的一般是 gb2312的编码
    试着转换编码就行了
    如: String str;
    Byte[] b = str.getBytes(txt,"utf-8");
      

  6.   

    给你一个源码FileReader.书上的,研究一下嘛.向文件写的是密文,你也可以把他改成明文import java.io.*; import java.awt.*; import java.awt.event.*;
    class fileread{
    public static void main(String args[]){
    char a[]="今晚10点发起总攻".toCharArray();
      int n=0,m=0;
      try {
       File f = new File("c:\\","text.txt");
        for (int i=0;i<a.length;i++)
        {a[i]=(char)(a[i]^'R');}
        FileWriter out=new FileWriter(f);
    out.write(a,0,a.length);
    out.close();
    FileReader in=new FileReader(f);
    int length=(int)f.length();
    char tom[]=new char[length];
    while ((n=in.read(tom,0,length))!=-1)
    {
    String s=new String(tom,0,n);
    m=n;
    System.out.println("密文:"+s);
    }
    in.close();
    for (int i=0;i<m;i++)
    {tom[i]=(char)(tom[i]^'R');}
    String 明文=new String(tom,0,m);
    System.out.println("明文:"+明文);
    }
    catch (IOException e)
    { System.out.println("File read error"+e);}
    }
    }
      

  7.   

    用FileReader可以正常显示,但在显示完所有文本内容后不知为何又多了许多 “□□□”符号