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

0 java arrays string file-io

我正在编写一个程序,以String数组(从用户输入)到文件的形式写出一组观察结果.我能够对.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) {}  
}
Run Code Online (Sandbox Code Playgroud)

我的输出目前看起来像这样: CrowMOsloMay2015JayMOsloJune2012CrowMOsloMay2015RobinFBergenMay2012

我希望它看起来像这样:

Crow M Oslo May2015

Jay M Oslo June2012
Run Code Online (Sandbox Code Playgroud)

...等等

我该怎么做呢?我假设我需要某种循环,但我现在已经停留了一段时间.

Bri*_*new 8

为什么不在你的try{}块中迭代并在每次写入后使用BufferedWriter.newLine()

如果您需要稍后能够读取值,则需要考虑一些明确的输出格式.也许最简单的解决方案是CSV格式(我注意到你的输出数据有空格 - 在这种情况下你需要使用空格以外的东西来分隔你的条目)