アプリ版:「スタンプのみでお礼する」機能のリリースについて

JavaでCSVを出力する処理を作りました。

下記コードだとUnix環境で文字コードSJISで改行コードLFで出力されますが、
Windows環境でもUnix環境でも一律、文字コードSJISで改行コードCRLFで出力されるようにしたいです。

何かいい方法はありませんでしょうか。

なお、printlnで出力している行が多い為、
bw,Print("日付" + 変数A + \r\n);
というふうに一行づつ変更するのは避けたいと思っております。


try{

PrintWriter bw = new PrintWriter(new BufferdWriter(new OutputStreamWriter(new FileOutputStream(/tmp/test.csv),"SJIS")));

bw.println("日付" + 変数A);
bw.println("氏名" + 変数B);




}catch(Exception e){
// ログに出力
}

A 回答 (1件)

System.setProperty("line.separator", "\r\n"); とすればbw.println()での出力改行コードを強制的にCRLFにできると思います。


ただし、この方法は特定のbwオブジェクトだけではなくline.separatorプロパティを参照する全てのコードが影響を受けるので、副作用に注意が必要です。
    • good
    • 2
この回答へのお礼

salsberry様

回答ありがとうございます。
記述して頂いたコードで変更することができました。

ただ、影響範囲が見えないので一行づつ変更することも再検討します。

お礼日時:2012/05/15 16:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています