flushメソッドはバッファリングされたものの、まだ書き込まれていないものをフラッシュします。
次のコードでは、writeUTFの2回目の呼び出しでブレークポイントを設定します。ファイルシステムに移動すると、作成されたファイルが表示され、 "some string"が含まれます。ブレークポイントをフラッシュすると、コンテンツが既にファイルに書き込まれていることを確認できます。このように
public static void test() throws IOException {
File file = new File("/Users/Hervian/tmp/fileWithstrings.txt");
DataOutputStream dos = null;
try {
dos = new DataOutputStream(new FileOutputStream(file));
dos.writeUTF("some string");
dos.writeUTF("some other string");
dos.flush();//Flushes this data output stream. This forces any buffered output bytes to be written out to the stream.
} finally {
if (dos!=null) dos.close();
}
}
、あなたはDataOutputStreamのオブジェクトからデータを抽出することはできませんが、一例では、我々はコースを外れ、書き込み呼び出しでそれらの文字列を持っている上に。
さて、そこに出力を書いていますが、読んでいません。あなたはサーバーですか?そしてサーバが "input"の場合、 'readLine()'で読んだばかりの行を印刷してみてください。 – markspace
私はフラッシュがそれを書いていたことを理解します。私はreadline()でどのように読みますか? –
ええと、 "読み込み"は 'input.readLine()'がするものです。 – markspace