問題タブ [dataoutputstream]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
15420 参照

java - Java ソケット: DataOutputStream または OutputStream?

私はまだソケットに比較的慣れていないため、この件に関する情報は見たことがありません。

接続されたソケットに書き込むには、次のいずれかを使用できます

DataOutputStreamまたは、ソケットから新しいものを作成し、OutputStreamそれに書き込みます。

  • DataOutputStream または OutputStream を使用して、「良い習慣」と見なされるものは何ですか? インターネットで見つけたほとんどのでは、DataOutputStream を使用しています (双方向チャットなどで文字列を送信するため)。
  • OutputStream よりも DataOutputStream を使用することの利点または欠点はありますか?
  • たとえば、ファイルを送信するときに、これら 2 つの間に顕著なパフォーマンスの違いはありますか?
0 投票する
2 に答える
1365 参照

java - ObjectInputStream / ObjectOutputStreamを使用してJavaでネットワーク「パケット」を実装することの長所と短所は?

私は、すべての通信にソケットを使用する単純なクライアント/サーバーアプリケーションに取り組んでいます。通信はパケットベースであり、パケットの概念は、ソケットストリームのクラスおよびObjectInputStream/ObjectOutputStreamラッパーのセットを使用して実装されます。

完全にテキストベースのプロトコル(IRCなど)または明示的にバイトを操作する「非常にバイナリ」なプロトコルと比較した場合、このアプローチに不利な点があるかどうか疑問に思います。

ここではトラフィックの問題(「qwerty」と「qwerty」+ 1KBのメタデータ)を無視し、信頼性と保守性のみを考慮しましょう。

どう思いますか?

0 投票する
2 に答える
1506 参照

java - DataOutputStreamの使用中の奇妙な出力

ファイルに書き込むためにJavaIOのDataOutputStreamを使用していますが、プログラムを実行すると、正しい出力が得られず、代わりに奇妙な文字が表示されます。-writeUTF(String str)メソッドを使用して文字列を書き込むことだけが機能することに気づきましたが、writeBytes(String s)を使用しても、スペース文字と思われる奇妙な文字が生成されます-ファイルへの書き込みのコード部分は以下のとおりです。考えられる原因、おそらくエンコーディングに関連するものですか?前もって感謝します。

0 投票する
2 に答える
1588 参照

java - junitを使用して、テキストおよびバイナリファイルからの読み取りとテキストおよびバイナリファイルへの書き込みをテストします

テキストファイルとバイナリファイルから読み取るコンストラクターと、テキストファイルとバイナリファイルに書き込むメソッドを持つCourseクラスを作成しました。このクラスをテストするためのjunitテストを作成するにはどうすればよいですか?

以下のコードを参照してください。

}

0 投票する
1 に答える
2469 参照

java - JavaでDataOutputStreamを使用してファイルを送信する

ファイルサイズとコンテンツをサーバーに送信するクライアントを構築しようとしています。

DataOutputStream を使用しようとしています。

ファイルを開いてファイルのサイズを取得し、内容を読み取って送信する必要があると想定しています。

しかし、私はJavaが初めてなので、それらを実装する方法がわかりません...

誰でもこれについて私を助けることができますか?

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

0 投票する
2 に答える
21880 参照

java - DataOutputStream.writeUTF() が先頭に 2 バイトを追加するのはなぜですか?

sax over sockets を使用して xml を解析しようとしたときに、奇妙な現象に遭遇しました。分析すると、DataOutputStream がデータの前に 2 バイトを追加することに気付きました。

DataOutputStream によって送信されるメッセージ:

Transformer を使用したメッセージ送信:

お気づきかもしれませんが、DataOutputStream はメッセージの前に 2 バイトを追加します。したがって、sax パーサーは例外「org.xml.sax.SAXParseException: Content is not allowed in prolog.」をスローします。ただし、これらの 2 バイトをスキップすると、sax パーサーは問題なく動作します。さらに、DataInputStream が Transformer メッセージを読み取れないことに気付きました。

私の質問は: DataOutputStream がこれらのバイトを追加するのはなぜですか? Transformer はなぜ追加しないのですか?




問題を再現することに興味がある人のために、いくつかのコードを次に示します。

DataInputStream を使用するサーバー:

Transformer を使用するサーバー:



SAX パーサーを使用するクライアント:

DataInputStream を使用するクライアント:

0 投票する
2 に答える
1305 参照

java - 15桁を含む7バイトの整数値をDataOutputStreamに書き込むにはどうすればよいですか?

7バイトの整数値をDataOutputStreamに書き込む必要があります。この整数には15桁が含まれています。どうやってやるの?

0 投票する
2 に答える
221 参照

java - Javaでのテキストファイルへの書き込み

DataOutputStreamとメソッドを使用して文字列をテキストファイルに書き込むメソッドがあります.writeBytes(String)。たとえば、改行文字を使用して文字列を記述した場合"I need \n help!"、メモ帳やその他の基本的なテキストエディタに改行が表示されません。ただし、ワードパッド、MS Wordなどには表示されます。これはなぜですか?修正できますか?

0 投票する
1 に答える
535 参照

file - FileConnection エンコーディングからの J2ME DataOutputStream

FileConnection から DataOutputStream にデータを書き込もうとしています。

しかし、入力したテキストではなく、エンコーディングに問題があるように、ファイルにゴミが含まれています。
OK、私が見る限り、ファイルの先頭に null と 0xFF 記号が追加されています。
原因は何ですか?