我正在编写一个程序,该程序以字符串数组(来自用户输入)的形式将观察集写入文件。我能够将观察结果写入 .txt 文件,然后添加新的观察结果,而无需删除以前的数据,但我的所有数据都在同一行。 我需要将每组观察结果放在单独的行上。此外,我稍后还需要能够访问该文件并从中读取内容。
我的代码目前如下所示:(观察是字符串数组)
for(int i = 0; i < observation.length; i++) {
try (BufferedWriter bw = new BufferedWriter(new FileWriter("birdobservations.txt", true))) {
String s;
s = observation[i];
bw.write(s);
bw.flush();
} catch(IOException ex) {}
}
我的输出目前如下所示:CrowMOsloMay2015JayMOsloJune2012CrowMOsloMay2015RobinFBergenMay2012
我希望它看起来像这样:
Crow M Oslo May2015
Jay M Oslo June2012
...等等
我该怎么做?我认为我需要某种循环,但我已经坚持解决这个问题有一段时间了。
最佳答案
为什么不在 try{}
block 中进行迭代并使用 BufferedWriter.newLine()每次写入后?
如果您需要能够稍后读回这些值,则需要考虑一些明确的输出格式。也许最简单的解决方案是 CSV 格式(我注意到您的输出数据有空格 - 在这种情况下,您需要使用空格以外的其他内容来分隔条目)
关于java - 使用 Java 将字符串数组写入文件 - 单独的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18871341/