2

私はこのJava チュートリアルに従っている初心者プログラマーです。

基本的な I/Oセクションで言及されている 2 つのクラスは、Data StreamsObject Streamsです。

それらは非常によく似て使用されます。

out = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(dataFile)));

// ..

in = new DataInputStream(new BufferedInputStream(new FileInputStream(dataFile)));

DataInputStreamと_

out = new ObjectOutputStream(new BufferedOutputStream(new FileOutputStream(dataFile)));

// ..

in = new ObjectInputStream(new BufferedInputStream(new FileInputStream(dataFile)));

為にObjectInputStream

DataInputStreamsはプリミティブ オブジェクトにObjectInputStreams使用され、オブジェクト (およびそれらのシリアル化) に使用されると書かれているので、どちらを使用すればよいでしょうか? どちらもプリミティブ型を使用する 2 つのサンプル クラスの顕著な違いはありません。私も通常プリミティブ型を使用します。

パフォーマンスに関しては、どちらが優れていますか? 他に大きな違いはありますか?

ありがとう。

4

1 に答える 1

6

DataStreams、などのプリミティブ型のI/O に使用されます。intfloatdouble

ObjectStreamsオブジェクトの I/O に使用されます。

プリミティブ型を明示的に使用することがわかっている場合は、 を使用します。それ以外の場合は、 DataInput インターフェイスObjectInput インターフェイスを実装するDataStreamsより一般的なものを使用して、プリミティブとオブジェクトを処理できます。ObjectStreams

于 2013-09-02T20:52:46.767 に答える