-1

正常に動作していますが、データを1行ずつ書き込む必要があります。arraylis オブジェクトから 1 つのデータを取得し、信号線をテキスト ファイルに書き込みたいと考えています。2 番目のオブジェクトは次の行に来る必要があります。

public void writeFile() {
    FileWriter writer = null;
    try {
        writer = new FileWriter("E:/AutomationToolWorkplace/AutomationTool/Test/ExpectedOutputHomescreenModule1.txt");
        for (String str : MP_result_set) {
            System.out.println("");
            writer.write(str);
        }
        writer.close();
    } catch (IOException ex) {
        Logger.getLogger(Transciever.class.getName()).log(Level.SEVERE, null, ex);
    } finally {
        try {
            writer.close();
        } catch (IOException ex) {
            Logger.getLogger(Transciever.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
}

出力:

{"data":
{"shared":false,
"port":"4096",
"packageName":"",
"installed":false,
"lock":false,
"like":false,
"type":"HomeScreen",
"ip":"192.168.1.24",
"screenId":"9999",
"selected":false,
"category":"",
"servicetype":"",
"price":"",
"subscribe":false,
"event":false,
"subtype":"Recommended",
"predefined":false,
"pricingmodel":"PPC",
"packageSelected":false}}

{"data":{
"port":"4096",
"screenId":"2050",
"result":"failure",
"recordList":[],
"reminderList":[],
"msg":"No record",
"playList":[],
"ip":"192.168.1.24"}}

{"data":{
"port":"4096",
"screenId":"12105",
"result":"success",
"list":["music","Action","Romance","Horror","Comedy","Thriller","Mystery","Drama"],
"type":"genre",
"ip":"192.168.1.24"}}
4

4 に答える 4

1

書き込む各文字列に「\n」を追加するか、PrintWriterを使用することができます。

オブジェクトのフォーマットされた表現をテキスト出力ストリームに出力します。

最も簡単な解決策は、Apache Commons IOUtilsと、コレクションとライターを取る IOUtils.writeLines() メソッドを利用することです。自分で反復を実行する必要がなくなります。

于 2013-06-28T11:15:07.033 に答える
0

このようなもの?

writer.write(str + "\n");
于 2013-06-28T11:14:20.963 に答える
0

これを置き換えます:

System.out.println("");

これとともに:

writer.write("\n");
于 2013-06-28T11:15:44.060 に答える
0

ステートメントを行ごとに記述するには、BuffererdWriterFileWriterをラップして使用しますnewLine()

BufferedWriter bw = new BufferedWriter(new FileWriter(path));
bw.write(str);
bw.newLine();

Piovezan が指摘したようにSystem.out.println("")、ファイルではなく標準出力に改行を出力するだけなので、 も削除する必要があります。

于 2013-06-28T11:18:53.187 に答える