【发布时间】:2014-07-19 17:04:01
【问题描述】:
我有一个 netcdf 文件,我正在内存中打开它并尝试获取该文件的二进制表示。不幸的是,似乎没有一种方法可以做到这一点。
我尝试过使用 ObjectOutputStream 和 DataOutputStream 但似乎都不起作用:
// Nothing gets writen into baos
NetcdfFile file = NetcdfFile.openInMemory("C:\\testVIL.nc");
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream out = new DataOutputStream(baos);
N3outputStreamWriter w = new N3outputStreamWriter(file);
w.writeDataAll(out);
out.close();
byte[] byteArray = baos.toByteArray();
for ( byte b : byteArray ) {
System.out.print( (char) b );
}
// netcdfFile is not seralizable
NetcdfFile file = NetcdfFile.openInMemory("C:\\testVIL.nc");
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream( baos );
oos.writeObject( file );
byte[] byteArray = baos.toByteArray();
for ( byte b : byteArray ) {
System.out.print( (char) b );
}
谁能给我建议一种方法来获取 netcdf 文件的二进制表示,我很难过!
【问题讨论】: