2004-04-07 (水) [長年日記]
_ 続・Java でリトルエンディアンのバイナリを読む
昨日は byte の配列からデータを読み込んだが、今回はバイナリファイルから読み込むことを考える。
ファイルから byte の配列に読み込んで昨日のように処理すれば問題ないのだが、今は java.nio.channels.FileChannel があるので、これを使う。
FileInputStream fis = new FileInputStream(file); FileChannel fc = fis.getChannel(); // FileChannel を取り出す ByteBuffer bb = ByteBuffer.allocate(6); // 6 バイトの ByteBuffer を作成 bb.order(ByteOrder.LITTLE_ENDIAN); // リトルエンディアンに設定 fc.read(bb); // ファイルから読み込む bb.rewind(); // バッファを巻き戻す int intData = bb.getInt(); // 4 バイト読み込む short shortData = bb.getShort(); // 2 バイト読み込む fis.close();
_ 今日のアニメ
- ママは小学4年生#27
- いづみは仲の悪い母親に、みらいは自分の子供とウソをつく。
- ドラゴンボールZ#132
- 人造人間20号ことドクターゲロを追い研究所に向かう。
- シティーハンター91#12
- 離婚したリカ王妃には昔、騙されて盗みを手伝わされていた。
- 陽あたり良好#45/46
- 紅白試合の助っ人に出て、再び野球をやりたい気持ちになる勇作。
[ツッコミを入れる]