java textarea并输入到文件

时间:2014-07-07 06:46:03

标签: java swing file-io jtextarea

我的Java应用程序出现问题。我想将JTextArea中的文本转移到.txt文件

例如,

我输入了

"Hi
my name is george"

我希望我的.txt文件中的结果是相同的

但是会发生什么

"Himy name is george"

这是我的代码

private void btnCreateActionPerformed(java.awt.event.ActionEvent evt) {                                          
    String filename,content;
    String[] ArrContent=new String[9999];
    int wordctr=0;

    try
    {
        if(txtFilename.getText().isEmpty())
        {
            lblRequired.setText("Required Field");
        }else
        {
            lblRequired.setText(" ");
            filename=txtFilename.getText()+".txt";
            FileWriter fw=new FileWriter(filename);
            BufferedWriter writer = new BufferedWriter(fw);
            if(txtContent.getText().contains("\r\n"))
                writer.write("\r\n");
            writer.write(txtContent.getText());
            writer.close();
        }
    }

2 个答案:

答案 0 :(得分:2)

尝试使用JTextArea#write(Writer)代替......

String filename = txtFilename.getText()+".txt";
try (FileWriter fw = new FileWriter(new File(filename))) {
    txtContent.write(fw);
} catch (IOException exp) {
    exp.printStackTrace();
}

并确保您尽最大努力关闭您创建的资源......

答案 1 :(得分:0)

您需要使用System.lineSeparator()将新行写入文本文件。

所以尝试类似下面的内容

if(txtContent.getText().contains("\r\n"))
            writer.write(System.lineSeparator());