私はネットワーキングについてもっと学びたいので、ソケットを使って小さなプロジェクトをすることにしました。私はすでに成功している私はかなり基本的であることを知っているエコーサーバーを作成しています。ソケットを使ってデータを送受信する
次のステップは、サーバーからクライアントへ、そしてその逆のすべての種類のファイル(テキストファイル、画像、おそらく動画からでも)を送信することです。私はFIleOutputStream、ObjectOutputStream(と入力を明白に)としようとしていると私もバイトバッファを試みたが、私は本当に多くのデータについて知っていることを理解し始めているJavaのドキュメントを読むことによって....
ので、私の質問は以下のとおりです。
- が、私はバイトにデータ(テキスト、画像、動画)のすべての種類を変換することができ、それを送信して、それがために使用されるデータの中にそれをすべてを変換し、または私は特定が必要ですデータの種類ごとに機能?
- テキストファイルまたはイメージをObjectに変換してObjectOutputFileで送信できますか?もしそうなら、どうすれば他の側でそれを解凍できますか?私はObjectOutputFile.readObjectを試してみましたが、その後は何をすべきか分かりません。 、これだけ特定の部分が重要であるため、ここで
は、私は(私はすべてのコードを投稿しないでしょうやろうとしていたものだ、私は信じている:
サーバー:(アウトがDataOutputStreamのある)
ObjectOutputStream oos = new ObjectOutputStream(out);
Path path = Paths.get("stuff/Folder.jpg");
byte[] data = Files.readAllBytes(path);
oos.write(data);
クライアント(にはDataInputStreamのある):事前にすべてのヘルプのための
ObjectInputStream ois = new ObjectInputStream(in);
ois.readObject();
おかげで、あなたは記事やtutoriaを知っていると思われる場合それは私が助けてくれるこのことについてもっと学ぶのに役立ちます!
'ois.readObject()'は、サーバ上で送信したバイト配列と同じバイト配列を返します。そのため、ファイルに再度書き込む必要があります。 – immibis