問題タブ [objectoutputstream]

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 に答える
1687 参照

java - ObjectOutputStream で作成されたファイルから PHP で Java オブジェクトを読み取る

PHP で ObjectOutputStream を使用して、Java ベースのゲームで作成されたファイルを読み込もうとしています。データは、バイナリ形式で書き込まれたシリアル化されたオブジェクトです。

fopen と fread を使用してバイナリ データを取得してきましたが、どうすればよいかまったくわかりません。

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

java - Androidソケット+ObjectOutputStreamが正しく機能していません

クライアントがAndroidデバイスであるクライアント/サーバープログラムを開発しています。

サーバーには、入力ストリームからオブジェクトを読み取るリスナークラスがあります。ローカルネットワーク経由で小さなオブジェクトを送信する別のコンピューター用のクライアントソフトウェアを作成しました。コンピューターからコンピューターへの接続は完全に正常に機能します。オブジェクトを読み取り、内容を印刷しました。ただし、Androidに移植された同じコード(念のために書き直しました)は機能しません。シリアル化可能なオブジェクト(任意のオブジェクト)を作成し、ObjectOutputStreamを介して送信します。コンピューターで実行されているサーバーはデバイスに接続しますが、オブジェクト(toStringがある)を印刷している場合でも、ClassNotFound例外が発生します。私が言ったように、別のコンピューターで(.jarファイルとして)実行されている同じコードは完全に正常に機能します。

これは本当に奇妙な部分です。ブール値または文字列を(デバイスから)送信すると、機能します。それは、機能しない私の「カスタム」オブジェクトです。これは、どの「標準」Javaオブジェクトでも機能すると思います。

間違いを見つけた場合は、コードは機能しますが、別のコンピューターから私のコンピューターへのコードのみが機能することを覚えておいてください...Androidデバイスからコンピューターへのコードは機能しません。それでも別の明白な間違いを見つけた場合は、素晴らしいです:)

Androidプログラム:

テストオブジェクト:

サーバーリスナー:

ありがとう!!

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

java - オブジェクト入力ストリームは、ネットワーク経由で 1 つのファイルしか取得できませんか?

ネットワーク経由で指定されたディレクトリに画像ファイルを送信する基本的なクライアント サーバーを作成しました。コードは先週機能しましたが、今日戻ってきました。クライアントがディレクトリ内のすべての画像ファイルを送信したことを出力しても、サーバー側でファイルを 1 つしか取得していないようです。クライアントコードの何かかもしれませんが、サーバー側の何かだと思います。より効率的な解決策があれば、必要に応じてコードを変更させていただきます。私のコードは以下の通りです:

イメージサーバー

たくさんのコードを読み通す必要があることは承知していますが、これについて何か助けていただければ幸いです。

私は間違っているかもしれませんが、効率とネットワーク トラフィックのために、クライアントからサーバーに画像を zip として送信することは有益でしょうか?

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

java - ObjectOutputStream の writeObject メソッドはどの文字エンコーディングを使用しますか?

Java は内部的に UTF-16 エンコーディングを使用していると読みました。つまり、次のような場合は理解しています。 String var = "जनमत"; 「जनमत」は内部的に UTF-16 でエンコードされます。したがって、この変数を以下のようなファイルにダンプすると:

ファイル「output.xyz」の文字列「जनमत」のエンコーディングは UTF-16 になりますか? また、後で ObjectInputStream を介してファイル「output.xyz」から読み取りたい場合、変数の UTF-16 表現を取得できますか?

ありがとう。

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

java - FileWriterでObjectOutputStreamとFileOutputStreamを使用する

ObjectOutputStreamこのように使用する方法はありますか?

私が試してみると:

そして例えば:

その結果は得られません。ObjectOutputStream毎回ファイルを完全に上書きしているようです。

0 投票する
5 に答える
8182 参照

java - ソケット上のJavaObjectOutputStreamがflush()されていません

私はJavaで書かれたネットワークアプリに取り組んでおり、Socketsの上でObjectOutputStreamとObjectInputStreamを使用してメッセージを交換しています。私のコードは次のようになります。

送信者:

受信者:

メッセージが正常に処理される場合もありますが、オブジェクトの代わりにマークされた例外が発生する場合もあります。フラッシュはメッセージを反対側に強制的に通過させることになっているのではありませんか?どういうわけか関数を間違って使用していますか?それとも、これは基盤となるJava / OSネットワークコードのある種のバグですか?

ありがとう!

アップデート:

私はこれについてもう少しスヌーピングを行いました、そしてそれはシステムのリソースが何かによって課税されているときにのみ起こるようです。VirtualBoxの外部で複製することはできませんでしたが、それはVirtualBoxにそもそも多くのリソースがないためである可能性があります。この質問については、さらに詳しく調べていくうちに更新していきます。

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

java - ObjectOutputStreamを使用して特定のデータを削除します

私は現在、人に関するデータを.datファイルに保存するプログラムを作成しようとしています。プログラムは、エントリの追加、エントリの表示、およびエントリの削除ができる必要があります(これらはすべて同じタイプのオブジェクトです)。

私が遭遇している問題は、エントリの削除にあります。ランダムアクセスファイルを使用しないように特に指示されましたが、データの特定の場所を削除できる必要があります。ポインタの種類を制御する方法がないため、削除するエントリを定義する方法がわかりません。エントリの場所を見つける方法はありますが、オブジェクトの場所にあるデータを削除する方法がありません。

ObjectOutputStreamがデータを削除する場所を定義する方法はありますか?特定のエントリを削除するにはどうすればよいですか?

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

java - ObjectOutputStream/ObjectInputStream の進行状況の取得

私は最近、ObjectOutputStream と ObjectInputStream を使用して、サーバーとクライアント間の単純な Java ソケット接続を介してオブジェクトを送信する方法を見つけました。画像など、サイズが大きい可能性があるオブジェクトを転送したいのですが、送受信されたデータの量の進行状況を追跡するスレッドを配置することは可能ですか? この質問への答えがあまり直接的でない場合、誰かが私が似たようなことをする方法を説明できますか? 前もって感謝します!

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

java - Java ファイル オブジェクトをソケット経由でサーバーに送信する

こんにちは、ソケットを介してJavaファイルオブジェクトをサーバーに送信しようとしています。サーバーはそれをデータベースに保存します。現在、File オブジェクトを格納する FileBean を作成しました。次に、ObjectOutputStream を使用して、FileBean をサーバーに writeObject() します。ただし、File オブジェクトには実際のデータへの参照のみが含まれているように見えるため、サーバーは実際にデータを取得できません。

objectoutput ストリームのようなものを使用してソケット経由で送信される File オブジェクトをシリアル化する方法はありますか? それとも、ファイルをバッファに書き込んでソケット経由で送信する必要がありますか?

ヘルプとコード例は感謝します

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

java - クライアントが書き込んだ内容をサーバーが確実に読み取るようにするにはどうすればよいですか?

私はソケットクライアントからバイト配列を次のように書いています:

受信側では、サーバー上に次のものがあります。

出力に奇妙な文字列が表示されます。

クライアントから送信したのと同じバイトを確実に取得するにはどうすればよいですか?