クライアントがDataInputStreamを使用して送信するファイルを受信し、それをファイルに書き込もうとしています。
(クライアントはDataInputStream write(byte []、len、off)メソッドを使用してファイルを送信します)
これが私がやろうとしている方法ですが、完全なデータを受信しません。
InputStream in = s.getInputStream(); //s is Socket that is connected.
BufferedInputStream bis = new BufferedInputStream(in);
DataInputStream din = new DataInputStream(bis);
FileOutputStream fos = new FileOutputStream(directory+"/"+filename);
byte b = din.readByte();
while(b != -1){
fos.write(b);
b = din.readByte();
}
上記の実装はエレガントではないかもしれないことを私は知っています。
しかし、私はJavaを初めて使用するので、悪いスタイルについてはご容赦ください。
(あなたが知っているなら、あなたがより良いものを推薦するならば、私は本当に感謝します)
結果ファイルはわずか4KBですが、401KBである必要があります
コードを機能させるには、このコードをどのように修正する必要がありますか?
どうもありがとうございます。