String path = "E:\\1.txt";
File file = new File(path);
FileInputStream fis = null;
DataInputStream dis = null;


try {
fis = new FileInputStream(file);
dis = new DataInputStream(fis);

Float num;

num = dis.readFloat();
System.out.println(num);
文件 内容就是1.1
但是输出却是2.5348215E-9请问这是怎么回事啊?
谢谢了啊

解决方案 »

  1.   

    你问件里是文本内容,不能用readFloat读出来的。要用reader来做
        public static void main(String[] args) throws IOException {
            String path = "E:\\1.txt";
            File file = new File(path);        BufferedReader reader = new BufferedReader(new FileReader(file));
            try {
                String line = reader.readLine();
                System.out.println(line);
            } finally {
                reader.close();
            }
        }
      

  2.   

    如果我存储的数是这样的
    28.7812    34.6  34.56   45.8954
    我怎么读成float啊?
    谢谢了啊
    麻烦了
      

  3.   

    第一,你从文本读出来的是字符串,而不是你想要的Float类型的数据;第二,你想读取一行里面有多个数据的时候,要看你用什么字符分隔开,然后根据分隔的字符去截取字符串 ;第三,从第二获得的字符串你要经过处理下转换成你想要的类型;
      

  4.   

    建议楼主有空学学thinking in java 的io章节......
    基础还是要看的
      

  5.   

    DataInputStream和DataOuputStream是字节数据流。
    但你的文本内容的读取不一定都是字节,有时事字符。如果你的文本中有一个中文的话,那么用字节流去处理的时候就会出错
      

  6.   

     num = dis.readFloat();不能用readFloat();