在txt文件中写入中文正常但是读取出来的时候是乱码,怎么读取
String str = "第三季度快乐的积分卡的啊速度放aaa○訥亣欸打阿製璦歺啊打窄阿歹敱歺杷啊打阿";
       DataOutputStream  out=new  DataOutputStream  (new  FileOutputStream("test.txt")); 
       out.writeUTF(str);
       out.close();//存入文件正常
       BufferedReader input= new BufferedReader(new FileReader("test.txt")) ;  
       StringBuffer buffer=new StringBuffer(); 
              String text; 
                  while((text=input.readLine())!=null) 
       {  
           buffer.append(text+"\n");//输出是乱码

解决方案 »

  1.   

    用DataOutputStream 写进去的 
    就用DataInputStream来读
      

  2.   

    对Java程序中的中文乱码问题的解决方法 
    http://www.src119.com/article/2007/0725/vc_37486.html
    看看是否对你有帮助!
      

  3.   

    import java.io.*;class Demo 
    {
    public static void main(String[] args)throws Exception
    {
    String str = "第三季度快乐的积分卡的啊速度放aaa○訥亣欸打阿製璦歺啊打窄阿歹敱歺杷啊打阿";
    BufferedWriter out=new BufferedWriter(new FileWriter("test.txt"));
          //DataOutputStream  out=new  DataOutputStream  (new  FileOutputStream("test.txt")); 
          out.write(str);
       // out.writeUTF(str);
        out.close();
       BufferedReader input= new BufferedReader(new FileReader("test.txt")) ;  
     StringBuffer buffer=new StringBuffer(); 
       String text; 
      
       while((text=input.readLine())!=null) 
       {  
           buffer.append(text+"\n");
           
    }

    System.out.println(buffer.substring(0));
    input.close();
    }
    }
      

  4.   

    out.writeUTF(str);这个方法是把字符串按utf编码写入
    用writeUTF(str)写,就要用readUTF()方法读,用别的读就是乱码