我理解我的问题可能会重复,但我无法在其他问题的答案中找到我需要的答案, 我有一个textArea,其中附加了一些数据。 我想将这些数据写入一个文件中,该文件具有与textArea中相同的样式 我的textArea结果如下所示
Type Model Serial Country WTY START WTY END SER.STRT SER.END Int.Warrnty
1234 123 1234567 XXXXXX 2012-07-04 2015-07-03 2012-07-04 2015-07-03 Yes
5678 456 4567890 XXXXXX 2011-05-11 2014-06-24 ....-..-.. ....-..-.. No
当我尝试将其写入文本文件时,它会在是之后写在那里,第二行会立即写入。
Type Model Serial Country WTY START WTY END SER.STRT SER.END Int.Warrnty
1234 123 1234567 XXXXXX 2012-07-04 2015-07-03 2012-07-04 2015-07-03 Yes5678 456 4567890 XXXXXX 2011-05-11 2014-06-24 ....-..-.. ....-..-.. No
我尝试使用打印流和文件编写器并且都给出了同样的效果,我尝试了缓冲编写器并添加新行,仍然是同样的问题
我的代码是
String getTextArea_1 = textArea_1.getText();
String userHomeFolder = System.getProperty("user.home");
File file = new File(userHomeFolder, "RESULT_3.txt");
try {
FileWriter fw = new FileWriter(file);
fw.append(getTextArea_1);
fw.flush();
fw.close();
} catch (IOException e1) {
e1.printStackTrace();
}
感谢您的帮助
答案 0 :(得分:1)
您需要在第一次追加后附加\ n,否则您将在同一行上写
答案 1 :(得分:1)
将try-catch更改为以下内容:
try (BufferedWriter writer = new BufferedWriter(new FileWriter(file))) {
String[] strings = getTextArea_1.split("\n");
for (String s : strings){
writer.write(s);
writer.newLine();
}
} catch (IOException e) {
e.printStackTrace();
}