问题背景:
我需要生成一个大概1.5T的double型矩阵,硬盘受不了,IO时间消耗不起,于是尝试在输出前压缩。矩阵生成使用java,在矩阵上的计算使用cpp
于是分别尝试使用java 写gz压缩文件和使用c++读压缩文件
一下为简单的测试代码:
写:
public boolean generateGzipFile(String ofname) throws IOException {
FileOutputStream fout = new FileOutputStream(ofname);
GZIPOutputStream gos = new GZIPOutputStream(fout);
for(int i = 0; i < numbers.size(); i++){
String tstr = String.valueOf(numbers.get(i));
tstr += "\n";
gos.write(tstr.getBytes());
}
gos.finish();
gos.flush();
gos.close();
return true;
}
读:
<