2016-11-22 8 views
0

Я использую класс Data Stream в java для выполнения операций чтения и записи. Мой вопрос заключается в том, что я не закрываю оба потока и даже не очищаю данные, а затем как он работает правильно.Поток данных в Java

Я хочу сказать, что если данные не вымываются из 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(); 
     } 
    } 
} 
+1

Удача, возможно. Если вы не закроете и не закроете, то _might_ полностью очистите данные, но это не дает такой гарантии. –

ответ

2

Мой вопрос я не закрываем как потоки и даже не промывке данных, то, как она работает должным образом.

Потому что ни DataOutputStream, ни FileOutputStream буферизированы.

+0

Но нет никаких гарантий относительно того, что делает файловая система с данными. – teppic

+0

@teppic Я не уверен, что вы пытаетесь сделать здесь. Причина поведения, с которым сталкивается ОП, - вот что я здесь сказал. Поведение файловой системы определяется операционной системой, а не Java, но, безусловно, следует ожидать, что данные, записанные в файл любым приложением, будут доступны для последующего чтения этим приложением в большинстве, если не во всех текущих операционных системах. В 1970-х годах был один, где файлы даже не существовали, пока они не были закрыты, но это уже давно. – EJP

+0

Я стою исправлена. – teppic