我想把基本的数据类型写入到一个文件中,读写都是正常的,可是文件中怎么是乱码啊?请帮忙看看,代码如下:
import java.io.*;
import java.util.*;public class InputTest{
public static void main(String[] args){
try{
FileOutputStream fos = new FileOutputStream("C:\\123.txt");
DataOutputStream dos = new DataOutputStream(fos);
dos.writeDouble(Math.random());
dos.writeBoolean(true);
FileInputStream fis = new FileInputStream("C:\\123.txt");
DataInputStream dis1 = new DataInputStream(fis);
System.out.println(dis.readDouble());
System.out.println(dis.readBoolean());
dos.close();
dis.close();
}catch(IOException e){
e.printStackTrace();
}
}
}

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【fafeiboy】截止到2008-07-20 14:53:57的历史汇总数据(不包括此帖):
    发帖的总数量:7                        发帖的总分数:85                       每贴平均分数:12                       
    回帖的总数量:27                       得分贴总数量:4                        回帖的得分率:14%                      
    结贴的总数量:7                        结贴的总分数:85                       
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:100.00%               结分的百分比:100.00%                  
    无满意结贴率:0.00  %               无满意结分率:0.00  %                  
    敬礼!
      

  2.   

    你这样是以二进制格式读写的,当然会是乱的如果想要写成ascii码,可以采用PrintWriter
      

  3.   

    字节流,是将内存里的数据写入文件。
    比如。
    你writeInt(1);
    1 在内存中为
    00000000 00000000 00000000 00000001四个字节,它就会将这四个节字写入文件。
    写入的并不是1,
    你拿记事本打开那个被写入的文件,
    记事本在解码的时候会出现问题,所以肯定是乱码的,
    你换winhex等工具看看,就会看到上面字节信息了。PS:也不知道我这么说对不对,语言表达能力不行。