我的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();
}
}
答案 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());