如下程序写入是乱码,可读出来是正确的应该怎么改
import java.io.*;
public class rwfile
{
public static void main(String[] args)
{
String s="",s2="";
int c=0;
try
{
DataOutputStream out2=new DataOutputStream(new BufferedOutputStream(new FileOutputStream("c:\\data.txt")));
out2.writeDouble(3.14159);
out2.writeChars("that was pi\n");
out2.writeBytes("that was pi\n");
out2.close();
DataInputStream in5=new DataInputStream(new BufferedInputStream(new FileInputStream("c:\\data.txt")));
BufferedReader in5br=new BufferedReader(new InputStreamReader(in5,"UTF-8"));
System.out.println(in5.readDouble());
System.out.println(in5br.readLine());
System.out.println(in5br.readLine());
    }catch(Exception e)
    {
     System.out.println(e);
    }
}
}

解决方案 »

  1.   

    直接用inputstream就可以了
    不用转成utf-8.
    ^_^
    就不会是乱码了。^_^
      

  2.   


    PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter("c:\\data.txt")));
      

  3.   

    out2.writeDouble(3.14159)改为out2.writeUTF("3.14159")
      

  4.   

    用PrintWriter就可以,它是格式化输出的类!
      

  5.   

    String aaa=new String(String.getBytes("iso8859_1"),"gb2312");