请问Java.IO包中的数据流(DataInputStream)API讲的“数据输入流允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型。应用程序可以使用数据输出流写入稍后由数据输入流读取的数据。”是什么意思?
  尤其“允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型”如何理解?
  有例子更好。
  谢。

解决方案 »

  1.   

    可以直接输出一个支持序列化的java对象。例如一个String对象,或者一个你自己写的类对象等等。
      

  2.   

    DataInputStream和DataOutputStream可以以普通方式读写二进制数据,还可以直接读写Java中的各种内构类型:boolean、int、float。
    import java.io.DataInputStream;
    import java.io.DataOutputStream;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;public class DataInputStreamTest 
    {
    public static void main(String[] args) 
    {
    try 
    {
    FileOutputStream fos=new FileOutputStream("c:/java/2.txt");
    DataOutputStream dos=new DataOutputStream(fos);
    dos.writeDouble(100.989);//float
    dos.flush();
    dos.close();
    }
    catch(FileNotFoundException e1) 
    {
    e1.printStackTrace();

    catch (IOException e) 
    {
    e.printStackTrace();
    } try
    {
    FileInputStream fis=new FileInputStream("c:/java/2.txt");
    DataInputStream dis=new DataInputStream(fis);
    System.out.println(dis.readDouble());//float
    }
    catch(FileNotFoundException e)
    {
    e.printStackTrace();

    catch (IOException e)
    {
    e.printStackTrace();
    }
    }
    }