【发布时间】:2015-06-20 04:35:50
【问题描述】:
我有一个关于 com.jmatio.io 包的问题,希望有人能回答。我希望写入一个可能已经存在也可能不存在的 .mat 文件(使用 java)。 如果存在,我想将信息附加到末尾,但如果未创建文件,我想创建一个新文件并将内容添加到该文件中。 我的第二个写是覆盖第一个,但我不希望它这样做。 非常感谢任何建议或解决方案。
【问题讨论】:
我有一个关于 com.jmatio.io 包的问题,希望有人能回答。我希望写入一个可能已经存在也可能不存在的 .mat 文件(使用 java)。 如果存在,我想将信息附加到末尾,但如果未创建文件,我想创建一个新文件并将内容添加到该文件中。 我的第二个写是覆盖第一个,但我不希望它这样做。 非常感谢任何建议或解决方案。
【问题讨论】:
如果您想将多个数组写入一个new 文件,您可以使用MatFileIncrementalWriter 来实现。正如它的 javadoc 中所解释的那样
一个更新的编写器,允许在编写器的生命周期内逐步添加变量。这对于允许写入大型变量而不必保持超过必要的时间是必要的。
并且它明确指出您不能附加到现有文件。
如果您想追加到现有文件,您可能需要
MatFileIncrementalWriter 将现有变量写回文件
【讨论】:
您需要以追加模式写入,以便将内容追加到文件的末尾而不是覆盖。
File out = new File("out.mat");
try(FileWriter fw = new FileWriter(out, true); // true is for append
BufferedWriter bw = new BufferedWriter(fw)) {
// ...
}
如果文件不存在,则会创建它。
【讨论】: