我在java中使用Data Stream类来执行读写操作。我的问题是我没有关闭两个流,甚至没有刷新数据然后如何正常工作。
我的意思是说数据是否未从DataOutputStream中刷出,然后是如何从DataiInputStream成功读取数据。
public class DataStream {
public static void main(String[] args) {
DataOutputStream dataOutputStream = null;
DataInputStream dataInputStream = null;
try {
dataOutputStream = new DataOutputStream(new FileOutputStream("E:/output.in"));
dataOutputStream.writeInt(12345);
dataOutputStream.writeFloat(123.45F);
dataOutputStream.writeLong(12345);
dataInputStream = new DataInputStream(new FileInputStream("E:/output.in"));
int intValue = dataInputStream.readInt();
float floatValue = dataInputStream.readFloat();
long longValue = dataInputStream.readLong();
System.out.println("int = " + intValue);
System.out.println("float = " + floatValue);
System.out.println("long = " + longValue);
} catch (Exception e) {
e.printStackTrace();
}
}
}
答案 0 :(得分:2)
我的问题是我没有关闭这两个流,甚至没有刷新数据然后它是如何正常工作的。
因为DataOutputStream
和FileOutputStream
都没有缓冲。