java - 如何从 netcdf 文件获取二进制数组

标签 java binary output netcdf

我有一个 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 文件的二进制表示形式,我被难住了!

最佳答案

netCDF Operator (NCO) ncks 将输出二进制

ncks -O -b binary.dat in.nc out.nc

更多详情请参见

http://nco.sf.net/nco.html#bnr

关于java - 如何从 netcdf 文件获取二进制数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23946085/

相关文章:

java - Openshift 将 Java 版本更改为 6

java - JOptionPane 始终返回 -1

java - 将二进制序列存储在字节数组中?

c# - 字符串到字节[],反之亦然?

python - 导入 tkinter 重复打印输出

c++ - 在 C++ 的计算器程序中重载 '+' 运算符时无法获得正确的输出

java - 我的 validator 表单出现 nullPointer 异常

c# - 解密二进制掩码 c#

php - 简化 PHP 中的数组

java - 如何刷新 JTable 中的数据并显示更新的列表