0

可能重复:
将多行 JTextArea 内容写入文件

我已经编写了从我的文本区域保存文件的代码问题是它把它全部保存在新文本文件中的一行上,而不是像我的文本框中那样。下面是我的代码

    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

从 JTextComponent 派生的所有组件,包括 JTextArea,都具有此方法,该方法将使用操作系统特定的换行符写入新行。

于 2012-11-18T13:33:20.330 回答