从获取文本字段字符串逐行写入或打印到文本文件
writing or printing line by line to a text file from a get text field string
我知道我的问题可能会被重复,但我在其他问题的答案中找不到我需要的答案,
我有一个 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();
}
感谢您的帮助
你需要在第一次追加之后追加一个\n,否则你会写在同一行
将您的 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();
}
我知道我的问题可能会被重复,但我在其他问题的答案中找不到我需要的答案, 我有一个 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();
}
感谢您的帮助
你需要在第一次追加之后追加一个\n,否则你会写在同一行
将您的 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();
}