当前位置: 首页 > 面试题库 >

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

姜鸿
2023-03-14
问题内容

我正在编写一个程序,以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) {}  
}

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

我希望它看起来像这样:

Crow M Oslo May2015

Jay M Oslo June2012

…等等

我该怎么做呢?我以为我需要某种循环,但是现在我一直想弄清楚这一点。


问题答案:

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

如果以后需要读取这些值,则需要考虑一些明确的输出格式。也许最简单的解决方案是CSV格式(我注意到您的输出数据包含空格-
在这种情况下,您需要使用空格以外的其他内容来分隔条目)



 类似资料:
  • 问题内容: 我认为能够将文本文件读入和写出字符串数组的能力是相当普遍的要求。从一种语言开始消除最初访问数据库的需求时,它也非常有用。Golang中是否存在? 例如 和 我宁愿使用现有的而不是重复的。 问题答案: 从Go1.1版本开始,有一个bufio.Scanner API可以轻松读取文件中的行。考虑上面的以下示例,该示例使用Scanner重写:

  • wef:使用apache poi写入xlsm(Excel 2007) 当我向文件中写入一个简单的字符串时,我无法打开该文件。错误-“Excel无法打开文件“Test1.xlsm”,因为文件格式或文件扩展名无效”

  • 问题内容: 我将日志保存到sdcard上的.txt文件中,但是一旦保存了两行,它就会覆盖它并重新开始? 这是我的代码: 在恢复中挂载/ data后,/ sdcard和/ data / media / 0中的日志文件会显示完整的日志历史记录,但在设备开机时不会显示完整的日志历史记录 问题答案: 这是完成的方式。以下示例代码在单击提交按钮后将详细信息保存到文件中: 希望这可以帮助 :)

  • 编程相对较新。我想读取一个URL,修改文本字符串,然后将其写入以行分隔的csv文本文件。 阅读 但我无法将相同的字符串写入文件——它只会变成一行(请参阅下面的循环,尝试1) 我想我正在寻找一种方法,在FileWriter或BufferedWriter循环中,将字符串finalDataA转换为数组字符串(即包括字符串后缀[0]),但我还没有找到这样一种方法,不会给出类型“不能”的错误将String转

  • 问题内容: 我试图将比对的蛋白质序列输出到文件,但是,每次我尝试将字符串写入文件时,输出字符串都会被截断。我尝试写入的字符串长4603个字符,并以正确的字符数打印到控制台。我要附加的第一段代码与输出变量本身有关。我将在此处包括完整的字符串,因为对我而言,在写入文件时字符串被截断的方式是可以重现的。 使用此代码段,文件的输出应等于al1。但是,该文件的输出如下: 将这两个序列粘贴到文字处理器中并计算

  • 问题内容: 我一直在尝试将数组写入文件。我知道如何将整数或字符串写入文件,但是要带一个数组会使我感到困惑。我现在正在使用这个: 问题答案: 就像其他人说的那样,您可以循环遍历数组并逐个打印出元素。为了使输出显示为数字而不是您看到的“字母和符号”,您需要将每个元素转换为字符串。因此,您的代码将如下所示: 如果您只想打印类似的数组,则可以使用此衬纸替换循环: