0

我有一个关于com.jmatio.io包的问题,​​希望有人能回答。我正在寻找一个可能已经存在也可能不存在的.mat 文件(使用 java)。如果存在,我想将信息附加到末尾,但如果未创建文件,我想创建一个新文件并将内容添加到该文件中。我的第二次写入是覆盖第一次,但我不希望它这样做。任何建议或解决方案都将不胜感激。

4

2 回答 2

0

如果要将多个数组写入文件,可以使用MatFileIncrementalWriter. 正如它在它的javadoc中解释的那样

一个更新的 writer,它允许在 writer 的生命周期内逐步添加变量。这是必要的,以允许写入大变量,而不必保持超过必要的时间。

它清楚地表明您不能附加到现有文件。

如果要附加到现有文件,您可能需要

  • 从现有文件中读取变量
  • 使用 a 将现有变量写回文件MatFileIncrementalWriter
  • 向增量写入器添加新变量
于 2015-04-15T07:26:51.487 回答
0

您需要以附加模式写入,以便将内容附加到文件的末尾而不是覆盖。

File out = new File("out.mat");
try(FileWriter fw = new FileWriter(out, true);  // true is for append
    BufferedWriter bw = new BufferedWriter(fw)) {
    // ...
}

如果文件不存在,则会创建它。

于 2015-04-14T14:09:29.533 回答