说读取一个数据时,不必关心这个数值应当是多少字节.可是JAVA程序本来是工作在虚拟机里的,虚拟机就隐藏了具体机器相关的东西啊?难道是虚拟机在不同平台上的实现对相同的程序会有不同的行为?就想说的AWT与机器相关一样?
还有看了API发现他的表示数据方法好象有点特别,和UTF-8也不一样,谁能给点看法.

解决方案 »

  1.   

    A data input stream lets an application read primitive Java data types from an underlying input stream in a machine-independent way. An application uses a data output stream to write data that can later be read by a data input stream.primitive理解为基本数据类型更好些吧
      

  2.   

    32位的readInt自然就读4个字节,大概就是这个意思吧
      

  3.   

    谢谢啊:)验证了一下,确实是“32位的readInt自然就读4个字节”
    即使里面当前位置存的是浮点数。
    编程思想里说“如果使用DATAOUTPUTSTREAM写数据,使用DATAINPUTSTREAM可以完全无误地读回这些数据,不论平台为何。”
    是不是不同机器对数值类型的数据的表示不同,所以把3。24写入一个文件,程序执行后会把机器的表示写入文件从而和机器相关,而DATAOUTPUTSTREAM又包了一层?机器不整数都是补码,浮点都是IEEE表示么?