以与textarea prob相同的格式保存文件

时间:2012-11-18 13:28:24

标签: java swing

  

可能重复:
  Writing multiline JTextArea content into file

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

    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相同的格式。谢谢你

1 个答案:

答案 0 :(得分:4)

您可以使用JTextArea的write(...)方法为您执行此操作:

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

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