ファイルのコンテンツを文字列として送信する必要があるクライアント サーバー プログラムがあり、BufferedReader.read メソッドを含む while ループを終了する方法を決定するのに問題があります。コードは次のとおりです。
while((c = in.read()) != -1){
fw.write((char)c);
System.out.print((char)c);
}
ただし、ソケットを使用するため、ソケットが閉じられるまで -1 にはなりません。while ループが到達するための終了句がわかりません。特殊文字はありますか?
一緒に行きました:
while((line = in.readLine()) != null && !line.equals(BasicProtocol.SENDING_FILE_DONE))
SENDING_FILE_DONE は、ストリームの最後に追加される文字列です。それを行う良い方法ではありませんが、データが文字列でなければならない場合は、この方法でなければなりません (私は信じています)。