Java API for NetCDF を使用して、CHAR 型の配列を持つ HDF5 ファイルを作成しました。ドキュメントによると、これは ASCII 文字のみを含む文字列に似ています。 -bit ASCII 文字。」HDFView では、配列内の 3 つの値の 1 つの例は "13" です。
整数の配列の場合、次のようにすべてを Java 配列として取得できることを知っています。
int[] data = (int[]) netCDFArray.get1DJavaArray(int.class);
しかし、この CHAR 型の配列を取得するにはどうすればよいでしょうか? 残念ながら、私が参照したドキュメントは役に立ちません。
一部の項目が複数の文字であるため、次は正しくありません。
char[] data = (char[]) netCDFArray.get1DJavaArray(char.class);
次の試行はすべて をスローしForbiddenConversionException
ます。
char[] data = (char[]) netCDFArray.get1DJavaArray(char.class);
char[][] data = (char[][]) netCDFArray.get1DJavaArray(char[].class);
String[] data = (String[]) netCDFArray.get1DJavaArray(String.class);
を使用するとnetCDFArray.toString()
、文字列の配列が表示されます。私もそのような反復子を使用して、各文字列で何かを行うことができると思います。しかし、整数を取得するために int イテレータを取得する必要はありません。整数を取得する方法と同様に、CHAR 型のすべての文字列を一度に効率的に取得するにはどうすればよいですか (上記を参照)。Java 、、またはを取得することに満足します。ArrayChar
StringIterator
Strings[]
CharSequence[]
char[][]