• ベストアンサー

ファイル出力について。

こんにちわ。 String型配列に格納した文字列5つを、それぞれ改行し、 ファイルに出力したいのですが、やり方がわかりません。 例: String[] test = new String{"a","b","c","d","e"}の場合 ↓test.txtの内容 --------- a b c d e --------- わかる方いらっしゃいましたら、ご教授願います。 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • siina-k
  • ベストアンサー率82% (14/17)
回答No.5

No2です。 こういうことでよろしいですか? import java.io.BufferedWriter; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; import java.io.Writer; public class test2 { public static void main(String[] args) { String[] test = { "a", "b", "c", "d", "e" }; try { File file = new File("C:\\test.txt"); Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file), "UTF-8")); for (int i = 0; i < test.length; i++) { test[i] = test[i] + "\n"; out.write(test[i], 0, test[i].length()); } out.close(); } catch (IOException e) { System.out.println(e); } } }

marimo-
質問者

お礼

回答ありがとうございます。 そういうことです!!!! 説明が下手ですいませんでした。 実際のソースで確かめてみます。 ありがとうございました。

その他の回答 (4)

  • rinkun
  • ベストアンサー率44% (706/1571)
回答No.4

文字エンコードを指定するにはava.io.OutputStreamWriterを使います。 java.io.Writer out = new java.io.BufferedWriter(new java.io.OutputStreamWriter(new java.io.FileOutputStream("filename"), "UTF-8")); といった感じでWriterを作成して書き込みます。

marimo-
質問者

補足

回答ありがとうございます。 これで出力ファイルの文字コードの指定が出来そうです。。。 が、ストリームに書き込むのはどうしたらよいのでしょうか。 ファイルからではなく、string型の文字列を書き込みたいのです。 よろしくお願いします。

  • tachiwa
  • ベストアンサー率34% (25/73)
回答No.3

PrintWriterを使うとこうなります。 import java.io.*; class HelloWriter { public static void main(String args[]){ String[] test={"a","b","c","d","e"}; try{ PrintWriter writer= new PrintWriter(new BufferedWriter(new FileWriter("test.txt"))); for(int i=0;i<test.length;i++){ writer.println(test[i]); } writer.close(); } catch(IOException e){ System.out.println(e); } }

marimo-
質問者

補足

回答ありがとうございます。 質問に書き忘れたのですが、String型の文字列はUTF-8で、 出力もUTF-8でファイルに書き込みをしたいと思っています。 そのため、PrintWriterクラスでは、文字コードの指定が 出来ませんでした。 他によい方法はないでしょうか。 宜しくお願いします。

  • siina-k
  • ベストアンサー率82% (14/17)
回答No.2

こんにちわ。 何処がわからないのでしょうか? 改行するやり方がわからないのであれば、"\n"をつければ、改行されますよ。 一応簡単にソースを作ってみましたので、ご参照ください。 import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; public class test2 { public static void main(String[] args) { String[] test = { "a", "b", "c", "d", "e" }; try { File file = new File("C:\\test.txt"); FileWriter filewriter = new FileWriter(file); BufferedWriter writer = new BufferedWriter(filewriter); for (int i = 0; i < test.length; i++) { test[i] = test[i] + "\n"; writer.write(test[i], 0, test[i].length()); } writer.close(); } catch (IOException e) { System.out.println(e); } } }

marimo-
質問者

補足

回答ありがとうございます。 質問に書き忘れたのですが、String型の文字列はUTF-8で、 出力もUTF-8でファイルに書き込みをしたいと思っています。 そのため、PrintWriterクラスでは、文字コードの指定が 出来ませんでした。 他によい方法はないでしょうか。 宜しくお願いします。

  • tom11
  • ベストアンサー率53% (134/251)
回答No.1

こんにちは、 PrintWriterクラス を利用すると便利ですよ。 参考URLを参照してみてください。

参考URL:
http://takeoba.cool.ne.jp/java/PrintWriter.htm
marimo-
質問者

補足

回答ありがとうございます。 質問に書き忘れたのですが、String型の文字列はUTF-8で、 出力もUTF-8でファイルに書き込みをしたいと思っています。 そのため、PrintWriterクラスでは、文字コードの指定が 出来ませんでした。 他によい方法はないでしょうか。 宜しくお願いします。

関連するQ&A