java - 使用 Java 将字符串数组写入文件 - 单独的行

标签 java arrays string file-io

我正在编写一个程序,该程序以字符串数组(来自用户输入)的形式将观察集写入文件。我能够将观察结果写入 .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/

相关文章:

Java 字符串基础

java - 为什么 JUnit 测试在 Play 2.3.1/Java 项目中不起作用?

java - 具有自定义文档和编辑器的 JTextPane 无法正确显示图标

java - 在 Jersey 中,如何使某些方法使用 POJO 映射功能而某些方法不使用?

javascript - 数组的性能包括与映射到对象并在 JavaScript 中访问它

Perl、unicode 和区域设置 : how to process string in non-utf8 locale using `perl -p -i -e' ?

java - 使用 GeckoDriver 在 Linux 上运行 Selenium 测试 : driver is not executable

java - 从数据包 header 设置 Java 字节数组大小

javascript - 按数组的值对数组进行排序

php - 如何用不会更新的新字母替换字符串中的字母