質問: br.readLine()) != null){ bw.write(str); bw.newLine(); } bw.close(); br.close(); }catch(IOException e){ System.out.println("cannot open"); } } } ### 補足情報(言語/FW/ツール等のバージョンなど) Linux centos6.5 (gcc-4.4.7-4.el6.x86_64)
回答: もしかして、Linux で Ctrl-Z を押してませんか? Linux では、 Ctrl-Z はプロセスをサスペンドするので、プログラムが終わったように見えるかもしれませんが、プロセスはサスペンドしただけで終わってません。 ``` $ java filewrite2 test.txt exit ctrl+z abc def ``` の後、 Ctrl-Z ではなく、 Ctrl-D を押してください。Linux では標準入力の EOF は Ctrl-D で入力します。 Ctrl-Z を入力するのは Windows のときです。参考にしたプログラムが Windows 版だったのでしょう。 Ctrl-Z を押すとプロセスがサスペンドしますので、シェルから jobs コマンドを打つと、サスペンドしてるジョブが見えると思います。 fg コマンドでプロセスを続行できます。