Java 如何从netcdf文件中获取二进制数组

Java 如何从netcdf文件中获取二进制数组,java,binary,output,netcdf,Java,Binary,Output,Netcdf,我有一个netcdf文件,我正在内存中打开它,并试图获得该文件的二进制表示形式。不幸的是,似乎没有一种方法允许这样做 我尝试使用ObjectOutputStream和DataOutputStream,但似乎都不起作用: // Nothing gets writen into baos NetcdfFile file = NetcdfFile.openInMemory("C:\\testVIL.nc"); ByteArrayOutputStream baos = new ByteArrayOutp

我有一个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运算符(NCO)NCK将输出二进制文件

ncks -O -b binary.dat in.nc out.nc
有关更多详细信息,请参阅


NetCDF已经是一种二进制表示形式,因此不确定您想要什么

也许:

NetcdfFile file = NetcdfFile.openInMemory("C:\\testVIL.nc");
Variable v = ncfile.findVariable("varname");
Array data = v.read();
while(data.hasNext())
   System.out.printf("%f,", data.nextDouble() );

谢谢,但我希望在内存中执行此操作,并且没有磁盘I/O