問題タブ [datainputstream]
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.
java - バイナリ I/O クラス (バイナリ データ ファイル内のすべての整数の合計)
誰かがこの問題を解決してくれませんか? バイナリ I/O クラスはあまり得意ではありません。
演習 13b_1.dat という名前のバイナリ データ ファイルが、DataOutputStream の writeInt(int) を使用して作成されたとします。ファイルには、指定されていない数の整数が含まれています。整数の和を求めるプログラムを書きなさい。
java - DataInputStream と UTF-8
私は新米プログラマーのようなもので、扱っているコードにいくつか問題があります。
基本的に、コードは別の JSP からフォームを受け取り、バイトを読み取り、データを解析し、DataInputStream を使用して結果を SalesForce に送信します。
正常に動作しますが、コードが通常の文字を処理する場合のみです。特殊文字 (フランス語の文字: àâäæçéèêëîïôùûü など) を処理しようとするたびに、結果として次の意味不明な結果が得られます。
ã¢ãã¦ã§ã©ã¨ãªãããããããã¹ãã¼
DataInputStream の問題である可能性があり、UTF-8 でエンコードされたテキストが返されないことを理解しています。この問題に取り組む方法について何か提案はありますか?
すべての .jsp ファイルには <%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%> が含まれており、Tomcat の設定は問題ありません (URI = UTF-8 など)。追加してみました:
request.setCharacterEncoding("UTF-8");
と
response.setCharacterEncoding("UTF-8");
無駄に。
データを解析する方法の例を次に示します。
前もって感謝します。
java - len未満を返すDataInputStream.read
DataInputStreamを使用して、ソケットからいくつかのバイトを読み取ります。ストリームから読み取るバイト数が予想されます(ヘッダーをデコードした後、メッセージに含まれるバイト数がわかります)99%の時間は機能しますが、読み取られるバイト数がlen未満になる場合があります。
numReadがlen未満になる原因は何ですか?-1ではありません。ストリームが閉じられるかEOFに達するまで、読み取りの動作がブロックされると予想しますが、ストリームの基盤となるソケットの場合、ソケットが閉じない限り、これは発生しないはずです。
常にlenバイトを読み取ることを保証するソケットからバイトを読み取る方法はありますか?
ありがとう
java - Java: Socket DataInputStream が EOFException をスローしないようにする
現在、クライアント/サーバー アプリケーションは、データを送受信するたびに新しい接続を開いたり閉じたりしています。永続的な接続が1つになるように変更しようとしています。
私が抱えている問題は、サーバー上のソケットの DataInputStream が、次のデータのバッチを受信するまでブロックしたいときに EOFException をスローし続けることです。
このように単純にサーバーを書くことを考えました...
...しかし、これは非常に見苦しく、データが受信されるまでブロックする適切な方法ではありません。
読み取るデータがあるまでソケットをブロックするように指示するよりクリーンな方法はありますか? read() と readFully() を試しましたが、どちらも機能しません。
java - データファイルを多次元配列 Java に読み込む
カスタム配列にロードしたい .dat ファイルがあります。実際にデータを配列にロードするにはどうすればよいですか。データは (String、int、int、double、String) で構成されます。
だから今 readFile は独自のクラスにあります...
CDinventory クラスから呼び出しています
しかし、それは私に次のことを与えます:スレッド「メイン」の例外java.lang.ArrayIndexOutOfBoundsException:1行:readFile invenItem = new readFile();
そのように配列を渡すのが好きではないようです。
java - java DataOutputStream getOutputStream()getInputStream()
一つの質問
たとえばの場合
また
これらのオブジェクトは、I / O操作が必要になるたびに作成する必要がありますか、それとも必要になるたびに読み取りまたは書き込みを呼び出す必要がありますか?(さらに、各操作後のフラッシング)
java - ストリームの入出力用のJava初期化変数
以下のコードに問題があります。in/outの変数を初期化する方法が明確ではありません。
このオブジェクトの作成中に、コンストラクター内でプログラムがハングします。の行にぶら下がっていますthis.inObjects = new ObjectIn.........
。これらの入出力オブジェクトを一度だけ作成して、メソッドで呼び出したり、読み取り/書き込みなどを適用したりするだけで、入出力、文字列、オブジェクトの読み取りと書き込みを行いたいと思います。
どこが間違っているのですか?データを受信しないことでハングする可能性はありますか?彼らはすべきではありませんよね?
java - JavaでTCP接続を介してシリアル化されたデータを送信する方法
TCP接続でシリアル化したデータを送信したい。クライアント/サーバー接続を作成し、シリアル化した後にオブジェクトを送信しています。しかし、どうすればデータを読み取ることができるのかわかりません。
コードスニペットは次のとおりです。
送信機能:
関数呼び出し:
受信機能:
これは機能していません。次の例外が発生します。
無効なストリームヘッダー:07F8ACED java.io.StreamCorruptedException:無効なストリームヘッダー:07F8ACED
どうすればいいのか教えてください。
android - Android: DataInputStream からの読み取りはエミュレーターでは機能しますが、デバイスでは機能しません
PCMファイルを読み込んで再生する簡単なAudioTrackの例に取り組んでいます。Androidエミュレーターではうまく機能しますが、私のテスト電話では、 readShort() 関数を使用してデータを読み取るときに失敗します。コードが失敗している場所は次のとおりです。
関数 readShort() は、最初に呼び出されたときに IOException をスローしています。例外では、その他の詳細は提供されません。DataInputStream は変数 audiodata を正しい長さの配列に変更するため、ファイルを正しく参照しているように見えます。
何かご意見は?
編集:スタックトレースの追加
android - TextViewは同じままで、新しい値に設定されません
問題が発生しています。ボタンを押すと、データが入ってくるDataInputstreamを読み取って、データを表示しようとします。
データを読み取るためにwhileループを使用しています。ただし、Textviewの動的更新は行われません。