在 java 中附加 mat 文件

appending mat file in java

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

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

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

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

如果要将多个数组写入 new 文件,可以使用 MatFileIncrementalWriter 来实现。正如它在 javadoc

中所解释的那样

An updated writer which allows adding variables incrementally for the life of the writer. This is necessary to allow large variables to be written without having to hold onto then longer than is necessary.

并且它明确指出您不能附加到现有文件。

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

  • 从现有文件中读取变量
  • 使用 MatFileIncrementalWriter
  • 将现有变量写回文件
  • 向增量编写器添加新变量