0

重複の可能性:
複数行のJTextAreaコンテンツをファイルに書き込む

テキスト領域からファイルを保存するコードを作成しました。問題は、テキストボックスのようにではなく、新しいテキストファイルの1行にすべてを保存することです。以下は私のコードです。

    String text = dna_ta.getText();

    JFileChooser chooser = new JFileChooser();
    chooser.setCurrentDirectory( new File( "./") );
    int actionDialog = chooser.showSaveDialog(this);
    if (actionDialog == JFileChooser.APPROVE_OPTION)
    {
        BufferedWriter out = null;
        try {
            File fileName = new File(chooser.getSelectedFile( ) + "" );
            if(fileName == null)
                return;
            if(fileName.exists())
            {
                actionDialog = JOptionPane.showConfirmDialog(this,
                                   "Replace existing file?");
                if (actionDialog == JOptionPane.NO_OPTION)
                    return;
            }
            out = new BufferedWriter(new FileWriter(fileName));
            out.write(text);
            out.close();

私のテキストエリアでは次のようになっています

 asd
 aaaaaa

しかし、私の保存テキストファイルでは次のようになっています

 asdaaaaaa

textareaと同じ形式で保存するのにどこが間違っているのかわかりません。ありがとうございます

4

1 に答える 1

4

JTextArea のwrite(...)メソッドを使用してこれを行うことができます。

out = new BufferedWriter(new FileWriter(fileName));
dna_ta.write(out);
out.close(); // after first checking if null

JTextArea を含む JTextComponent から派生するすべてのコンポーネントには、OS 固有の改行文字を使用して改行を書き込むこのメソッドがあります。

于 2012-11-18T13:33:20.330 に答える