[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[netCDF #JUL-394294]: Support for RandomAccessFile in C++



Kent,

> I probably did not mention that I want to read my RandomAccessFiles from an 
> Eclipse generated application based on MSYS/MinGW.  Given that requirement, 
> it sounds like I must recompile from source.  In that case, does it matter 
> which version of netCDF i obtain the source for?
> 
> One other note, when I originally implemented my Java application, I was told 
> that support for variable record length buffered random access file I/O was 
> to be found only in the legacy 2.2.22 Java version of netCDF.  Is there any 
> such limitation in the C/C++ source that would require that I choose an older 
> version vs. a newer version?

I may have misunderstood your original question, which I thought was
about netCDF files created from a Java program and read from a C++
program.  netCDF files are language-independent, so it really doesn't
matter what language is used to write them, any netCDF language API
should be able to read them.

But from what you've written above, it sounds like you didn't write 
netCDF files from your Java program, you just extracted an internal
RandomAccessFile class, and used that instead of a public function 
in the netCDF-Java API.  In that case, you don't really have a netCDF
file, and shouldn't expect any netCDF library to be able to read it.

Random access file I/O is supported by the JVM in Java and by system
calls like lseek(2) and read(2) in Unix systems.  It's not a file
format, it's just an abstraction for direct-access (as opposed to
serial access) I/O.  I don't know if there's a C++ class with methods
equivalent to the Java RandomAccessFile class used to implement netCDF,
but there is certainly equivalent functionality in standard C++ 
libraries ...

--Russ

> On Jan 27, 2014, at 8:19 AM, "Unidata netCDF Support" <address@hidden> wrote:
> 
> > Hi Kent,
> >
> >> Operating System: Windows7 64
> >
> >> I am using the RandomAccessFile class in netcdf-2.2.22 for java to
> >> write data files.  I would like to be able to read these files from a
> >> C++ application.  Is there version of netcdf for C++ that would enable
> >> me to do this?
> >
> > We make available pre-built netCDF C liraries for Windows that could read
> > those files:
> >
> >   http://www.unidata.ucar.edu/software/netcdf/docs/winbin.html
> >
> > However, we don't have any pre-built C++ libraries for Windows, so you
> > would have to build those from sources.  There are two C++ library versions,
> > a legacy release for netCDF-3 that was developed before namespaces and
> > exceptions were standardized, and a more recent netCDF-4 release, that has
> > an actively supported version on GitHub.  You can access sources for either
> > version here:
> >
> >  http://www.unidata.ucar.edu/downloads/netcdf/
> >
> > --Russ
> >
> > Russ Rew                                         UCAR Unidata Program
> > address@hidden                      http://www.unidata.ucar.edu
> >
> >
> >
> > Ticket Details
> > ===================
> > Ticket ID: JUL-394294
> > Department: Support netCDF
> > Priority: Normal
> > Status: Closed
> >
> 
> 
Russ Rew                                         UCAR Unidata Program
address@hidden                      http://www.unidata.ucar.edu



Ticket Details
===================
Ticket ID: JUL-394294
Department: Support netCDF
Priority: Normal
Status: Closed