0

こんにちは、私のアプリケーションには、jtextarea のデータを .txt ファイルに保存するコードがあります。問題は、jtextarea に複数行のテキストを入力して「.txt」ファイルに保存すると、データ全体が 1 行のテキストとして書き込まれることです。

String content = txtDescriptionCity.getText(); //jtextarea

   File file = new File("C:\\Tour v0.1\\Descriptions\\City\\"+txtcityname.getText()+".txt");


            if (!file.exists()) {
                 file.createNewFile();
            }

    FileWriter fw = new FileWriter(file.getAbsoluteFile());
    BufferedWriter bw = new BufferedWriter(fw);
    bw.write(content);
            bw.close();

jtextareaにそのまま文字を書きたいのですが・・・こんな風に

"テキスト行 1

テキスト行 2

テキスト行 3"

4

4 に答える 4

2

車輪を再発明しないでください。使用するだけです:

textArea.write(...);

ドキュメント内の改行文字を、使用しているプラ​​ットフォームに適した改行文字列に置き換えます。

于 2013-10-23T15:18:21.060 に答える
0

最初にシステムの行区切り記号を読み取り、次に内容の文字列を分割して、新しい文字列配列の各部分をファイルに書き込みます。new FileWriter(*,true);コンテンツが添付されていることを保証します。

    String seperator = System.lineSeparator();
    String[] lines = content.split("\n");
    FileWriter writer = new FileWriter(file ,true);
    for (int i = 0 ; i < lines.length; i++){
        writer.append(lines[i]+seperator);

    }
        writer.close();
}
于 2013-10-23T14:02:17.180 に答える
0

分割してから書くことができます。私のコードでは、「.」(フルストップ) に基づいて文字列を分割しています。

FileWriter fw = new FileWriter(file.getAbsoluteFile());
BufferedWriter bw = new BufferedWriter(fw);
for (String retval: content.split(".")){
bw.write(retval+".");
bw.newLine();
}
于 2013-10-23T13:58:20.010 に答える