、または でHttpConnection
Classを使用するときはいつでも、リモート サーバー経由でデータの読み取りと書き込みを行うために/ classを使用します。ただし、同じ目的で使用できる/のような他のクラスがあります。/ class withに関する質問を見ました。専門家から、これら2つの違いは何ですか?Java ME
Android
BlackBerry
DataInputStream
DataOutputStream
InputStream
OutputStream
InputStream
OutputStream
HttpConnection
3 に答える
DataInputStream
/DataOutputStream
はInputStream
/Outputstream
です。 InputStream
およびOutputStream
は、使用できる最も一般的な IO ストリームであり、Java のすべてのストリームの基本クラスです。生のバイトを読み書きできるのは、それらだけです。DataInputStream
フォーマットされたバイナリ データを書き込みます。単純なフォーマットされていないバイトの代わりに、、、、、、、UTF-8 文字列、およびそのデータの任意の混合物を読み取ることBytes
ができますInteger
。これらの高レベルのデータ型を書き込むことを除いて、同じことが言えます。Double
Float
Short
DataOutputStream
DataInputStream
/には/へのDataOutputStream
参照があり、生のバイトを読み取り、それらのバイトを前述のデータ型として解釈します。InputStream
OutputStream
から文字列を読み取るのDataInputStream
は良い考えではありませんが、基になる の文字エンコーディングについて変更不可能な仮定を行うためInputStream
です。代わりにReader
、基になるバイト ストリームに文字エンコーディングを適切に適用してデータを読み取る を使用することをお勧めします。DataInputStream
/DataOutputStream
の使用が制限されているのはそのためです。通常、プロセス間でテキスト データを交換する方が適切です。これは、サーバーとクライアントがデータの解析方法について合意するのが最も簡単だからです。バイナリー取引には、各プロセスが同じ言語を話していることを確認するために発生しなければならない多くのビット調整があります。DataInputStream
/を使用する 2 つの Java プロセスがある場合は簡単ですが、JavaDataOutputStream
以外の新しいクライアントを追加したい場合は、再利用するのが難しくなります。不可能ではありませんが、難しいだけです。