問題タブ [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.
android - DataOutputStream が文字を失うのはなぜですか?
私は単純な接続アクティビティを持っています:
PrintWriter outTest を使用して、サーバーの可用性をテストします。ユーザーがインターネットに接続していない場合、またはサーバーが機能していない場合は、ブール値の shouldContinue を使用してスレッドを一時停止します。
サーバーの可用性を確認します。
を使用しない場合の問題
そして、次のようにサーバーにデータを送信します。
すべて問題ありませんが、サーバーで使用すると、「#kokoko」のようなメッセージが表示されます。メッセージの最初の文字が失われ、ソケットがクラッシュします! お願い助けて
java - DataOutputStream と printwriter の違いは何ですか?
DataOutputStream
とはどう違いprintwriter
ますか?
java - Java プリミティブ データ型 byte およびクラス Byte
背景: ソケットを介して非常に限られた範囲で情報を渡す割り当てがあります。メッセージごとに最大 10 バイトになる可能性があり、送信するのは 1 バイトだけだと考えていました (プロトコルで 256 の異なる状態を通知するには 1 バイトで十分なので)。今、私はこれに関する情報を探して掘り下げ始め、多くの質問に出くわしました. 私の仮定が間違っているところを修正し、可能であれば文字通りの質問に答えてください.
つまり、プリミティブ データ型のバイトがあります (これは基本的に -128 から 127 までの数値ですよね?)。私が使用する場合
...コンソールに正しい数値が出力されますが、制限外の値を割り当てようとすると、コンパイラーが文句を言います。
次に、Byte データ型 (または API で言うように int) から明らかに Byte オブジェクトを作成するクラス Byte があります。
これも期待どおりの結果を生成し、コンソールに 20 が出力されます。127 よりも大きい数値を使用しようとすると、コンパイラからエラーが発生します。
1. データ型 byte とクラス Byte の違いは何ですか? クラス Integer が型 int に対して行うように、クラスが多くのメソッドを提供することが主な理由ですか?
次のスニペットは、奇妙な結果を生成します (私にとって):
2. 入力が読み取られ、入力が 10 進数形式の ASCII 文字 (たとえば、1 は 49 を返す) として解釈され、その後に数字 13 と 10 の 2 つの行が続きます。これはなぜですか?
(d をバイトとして宣言するかバイトとして宣言するかは関係ありません。結果は同じであり、代わりにバイト b から値を取得するなどと混ぜましたが、これらの 3 行 (またはそれ以上) は常に結果です。そして私が欲しいのは、私に戻ってくる入力だけです)
基本的に私はこれに少し混乱していますが、最終的には、これらの単一バイトを送信するための合理的な方法が必要であり、34 を送信するときに、反対側に 34 を受信させたいだけです。
3. クラス Byte の使用を控え、ストリームを介してバイト型を送信したいとします。すべての通常のストリームとリーダーは int 以外のものを読み取っていないようです (これは、少なくとも 2 バイトの入力があるまでブロックすることを意味すると思いますが、1 つだけを送信します)。強制的に使用する必要がDataInputStream
あり DataOutputStream
、型バイトをオブジェクト Byte にラップする必要がある場所、または他の方法がありますか?
これらすべてのことから、オブジェクト Byte が実際には 1 バイトのデータに過ぎず、それ以上のものではないことを信頼できるかどうか疑問に思っています... 混乱しています :(
前もって感謝します!
java - Objective C の Java の DataOutputStream に相当
現在、Objective C のプロジェクトに取り組んでいます。
、、クラスのいくつかの関数DataOutputStream
などのJavaクラスの関数を使用する必要があります。writeChars
writeLong
flush
ByteArrayOutputStream
DataOutputStream
具体的には、 andByteArrayOutputStream
クラスと同じ機能を持つ Objective C で何を使用できますか?
これは、Objective C に変換する必要があるコードです。
java - Java DataOutputStream が切断時に IOException をスローしない
DataOutputStream
ケーブルを差し込んだときにがスローされませんIOException
。コードの何が問題なのですか?
これが私のコードです:
ケーブルを再び差し込むとすぐに、データは引き続きサーバーに送信されます。
java - Java 送信メッセージ スレッド
ソケットとデータ入出力ストリームを使用して、クライアント側とサーバー側で Java でゲームを作成しました。サーバー側は、「for」ループですべてのユーザーにメッセージを送信する必要がある場合がありますが、ソケットへの書き込みがブロックされる可能性があるため、メッセージを送信するユーザーごとにスレッドを作成しました (また、リッスンするユーザーごとに別のスレッドを作成しました)。着信メッセージ)。送信スレッドは、次のアイデアに基づいて構築されています。
残念ながら、run() メソッドは常に実行されているため、sleep コマンドを挿入して、次のようなことを実現したいと思います。
ただし、これにより、送信するメッセージがある場合にスレッドがスリープ状態になる可能性があります。たとえば、run() メソッドが isEmpty() チェックを行った直後に write() メソッドが呼び出され、true が返されたがまだ開始されていない場合などです。寝るため。sleep(0) でこの問題を回避する方法が本当に思いつかないのですが、誰かアイデアがありますか? それとも、これについて間違った方向に進んでいますか?
本当にありがとう。
java - バイト配列をファイルに保存するときに表示される醜い文字
サーバーにテキストファイルがあります。そのファイルをクライアントからダウンロードしています。保存先のファイル パスを指定しましたfi
。
作成されたテキスト ファイルには、文字列ではなく、醜い文字が含まれています。どうすれば修正できますか?
出力の形式は次のとおりです。
テキスト ファイル内の文字が出力され、その後に太字でNULが続きます。これは何ですか、どうすればそれを取り除くことができますか?
アップデート
更新 2
そしてこちらですs
。として初期化されましたsocket
re
BufferedReader re;
java - クライアントがサーバーの DataOutputStream から出力を受信しない
私は現在、最初のクライアント>サーバー システムをコーディングして、文字列を含むパケットをネットワーク経由で前後に送信しようとしています。ただし、次のことが起こっているという問題があります。クライアントがサーバーにメッセージを送信し、サーバーがメッセージを受信し、メッセージを処理し、クライアントに返信を送信すると思われますが、クライアントはこのメッセージを受信せず、サーバーからの応答を待ってハングします。コードは次のとおりです。
サーバ:
クライアント:
java - DataOutputStreamへの書き込みとバッファを使用したRandomAccessFileからの読み取りに問題がある
このコードでは、f.read()でインデックスの範囲外の例外が発生しています。引数offsetとlengthを誤って使用している可能性があります。チャンクを読み込むたびに、オフセットをチャンクのサイズに移動する必要がありますか?たぶん、私は一度に読む量を減らして、より小さなバッファを使用する必要がありますか?
現在、この実装は機能していますが、メモリ使用量が心配です。
助けてくれてありがとう!