【初心者】Java質問・相談スレ14【大歓迎】
■ このスレッドは過去ログ倉庫に格納されています
0603デフォルトの名無しさん
NGNGリトルエンディアンのマシンで、ビッグエンディアン2バイト整数型の
バイナリファイルから数値を読み出すには、どんな方法があるでしょうか。
以前C言語で書いていたときは、共用体を作って
上下のバイトを入れ換えていました。(こんな感じ)
int main(int argc, char *argv[]) {
FILE *InFp, *OutFp;
int i;
union {
short v;
unsigned char temp[2];
} a;
InFp=fopen("InputFile", "rb");
OutFp=fopen("OutputFile", "w");
for(i=0; i < 30; i++) {
a.temp[1] = (unsigned char)fgetc(InFp);
a.temp[0] = (unsigned char)fgetc(InFp);
fprintf(OutFp, "%d\n", a.v);
}
fclose(OutFp);
fclose(InFp);
return 0;
}
Javaには共用体が無いみたいなので、上記の様なことが出来ない様なのですが、
こんなときは、皆さんどうしてますか?
文字列の場合は解決策があるようなのですが…
■ このスレッドは過去ログ倉庫に格納されています