难道 DataInputStream 只能一条条读取吗?有什么方法可以直接读取的,就是可以读取任何类型的方法,而不是readDouble()、readUTF() 这样好麻烦
import java.io.*;public class StoringAndRecoveringData { public static void main(String[] args)throws IOException{
DataOutputStream out = new DataOutputStream(
new BufferedOutputStream(
new FileOutputStream("D:\\333\\2222.txt")));
out.writeDouble(3.14159);
out.writeUTF("aaaa");
out.writeDouble(1.2232);
out.writeUTF("bbbbb");
out.close();

DataInputStream in = new DataInputStream(
new BufferedInputStream(
new FileInputStream("D:\\333\\2222.txt")));
System.out.println(in.readDouble());
System.out.println(in.readUTF());
System.out.println(in.readDouble());
System.out.println(in.readUTF());
}
}

解决方案 »

  1.   

    你想读什么类型,不行的话可以换那个ObjectOutputStream,ObjectInputStream
      

  2.   

    那看起来是没有了,因为我希望指定 DataInputStream 和  DataOutputStream
      

  3.   

    你可以包装需要的组件类。
    扩展DataInputStream和DataOutputStream类,如下:
    public void write(double[] ds) {}public void write(int[] ds) {}// 等等。
    }
    我就是这样做的,以后直接用这个类就可以使用我的方法,也可以使用到DataOutputStream类的功能。
    一举多得。
      

  4.   

    自己定义一个方法:把读入的数据进行判断,检查是Double,Integer,String中的哪一种类型,然后做出相应的处理