- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ファイル出力クラスの選択について(Java))
ファイル出力クラスの選択について(Java)
このQ&Aのポイント
- Javaで複数のオブジェクトに格納された文字列をループでgetして、1つのファイルに出力するプログラムを作成します。
- ファイルを出力する際には、適切なクラスを選択する必要があります。以下の条件を満たすクラスを使います。
- 条件:①ファイル(test.txt)は毎回新規で1ファイルのみ作成し、オブジェクトからループで取得した文字列を1行ずつ出力します。②test.txtは日本語が出力され、Windowsのアプリケーションで利用するため、SJISにエンコードして出力します。③バッファを使用します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
APIはごらんになっていますか? http://java.sun.com/javase/ja/6/docs/ja/api/java/io/OutputStreamWriter.html >OutputStreamWriter osw = new OutputStreamWriter(fw,"SJIS"); >OutputStreamWriter osw = new OutputStreamWriter("test.txt","SJIS"); まず、このようなコンストラクタはOutputStreamWriterクラスにはありません。 引数に渡せるのはjava.io.OutputStreamクラスとそのサブクラスだけです。 なので、文字コードを指定したいなら必然的に >FileOutputStream os = new FileOutputStream("output"); >OutputStreamWriter osw = new OutputStreamWriter(os, "JIS"); >BufferedWriter bw = new BufferedWriter(osw); といったコードになると思います。 そこまでパフォーマンスを気にしなくてもいいのであれば、 PrintWriter pw = new PrintWriter("test.txt", "SJIS"); でいいのかもしれませんけど。
お礼
的確なご回答ありがとうございます。 今回はパフォーマンスもある程度考慮しなくてはならないのでバッファも使うことにしました。 ありがとうございました!