- 締切済み
ファイル出力時の
以下のソースでファイル出力するのですが、 BufferedReader br = new BufferedReader(new FileReader(new File(args[0]))); PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(args[1]))); //一行読み込みを行った文字列を格納 String line; //一行読み込み while((line = br.readLine()) != null){ //一行書き込み pw.write(line); System.out.println(line); } コンソールへの出力は正常に出力されるのですが、 ファイルへの出力は改行されずに一行で出力されてしまいます。 どうすればファイル出力も正常になるか教えてください。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- UKY
- ベストアンサー率50% (604/1207)
pw.write(line); というのは line という文字列をただ単にプリントライターに出力するだけで、line のあとに自動的に改行を出力するわけではありません。 せっかくプリントライターを使っているのですから、println メソッドを使いましょう。 pw.println(line); ところで、コンソールへ出力を行う System.out.println(line); // System.out はプリントストリーム と、ファイルへ出力を行う pw.write(line); // pw はプリントライター を見比べると、自然に何が違うのかわかってくると思いますが……
- ranx
- ベストアンサー率24% (357/1463)
PrintWriterでしたらprintln()が使えると思いますが...。