-2

なぜDataInputStream/DataOutputStreamが、Server ClientプログラムのようなソケットプログラミングでBufferedInputStream/BufferedOutputStream、BufferedReader/BufferedWriterのようなjavaのストリームよりも使用され、Server ClientプログラムでDataOutputStreamが優先される理由

それらの違いを教えてください。

DataOutputStreamの詳細な機能を提供します。

なぜ、&の場合、いつDataInputStream/DataOutputStreamが必要なのかを明示的に説明してください。

ありがとうございました。

+0

@Axel、私は "私の宿題をする"とは言わなかったが、私はDataOutputStreamに関する詳細な情報を見つけなかったので、私はそれに尋ねた。 "BufferedInputStream/BufferedOutputStream、BufferedReader/BufferedWriter"を使用すると問題が発生しましたが、DataOutputStreamを使用した後に問題が解決されましたが、根本的な理由はわかりません。閉会に投票しないでください。 – Tom

+0

それらの違いについては、ドキュメントを読んだことがありますか? – RealSkeptic

+0

@Axel私はここで宿題を見ません:3 – niceman

答えて

0

DataInputStream/DataOutputStreamようにDataInput/DataOutputインターフェースひいてはwriteShort()ようなメソッドを持って、readInt()とを実装します。単にバイトだけではなく、いくつかのプリミティブ(short/int/utf8 string/...)でデータを読み書きする必要がある場合は非常に便利です。

送信側の

、あなたは、それが

InputStream is = ... // let's say you already have it 
DataInputStream dis = new DataInputStream(is); 
int intValue = dis.readInt(); 

受信側で

OutputStream os = ... // let's say you already have it 
DataOutputStream dos = new DataOutputSream(); 
dos.writeInt(42); 

のようなものですか今intValueは、あなたがバイトcoversionにint型を考える必要はありません42です、バイトオーダーなどを書くだけで便利な方法で読むことができます。

+0

私はソケットプログラミングの観点からそれらの使い方の違いを教えてください。私は、キーボードで入力されたテキストを交換するときにBufferedReader/BufferedWriterに問題があります。悪い英語で申し訳ありません。 – Tom

0

Roman Puchkovskiyのおかげで、私はすべての答えを得た。そして私はまた、DataInputStreamを/ DataOutputStreamを見つけるとBufferedReader/BufferedWriterの両方がソケットプログラミングで使用することができますが、DataInputStreamを/ DataOutputStreamのを使用することが好ましいが、あなたには、いくつかの中で、データのリード/ライトを持っている場合、それは非常に便利である「

を引き起こします プリミティブ(short/int/utf8 string/...)だけでなく、ローマンプチコフスキー氏も述べています。

皆さん、ありがとうございました。

関連する問題