0

マジックナンバー/バイトを読み取ってファイルの形式を確認しようとしています。ファイルをバイトごとに読み取ることは、Linuxマシンでも同じように機能しますか?

編集:以下は、intを使用してクラスファイルからマジックバイトを取得する方法を示しています。可変バイト数に対して同じことをしようとしています。

http://www.rgagnon.com/javadetails/java-0544.html

4

1 に答える 1

1

あなたがやろうとしていることを理解しているかどうかはわかりませんが、あなたがやろうとしていることは、リンク先のコードがしていることと同じではないようです。

Java クラス形式はマジック ナンバーで始まるように指定されているため、コードはファイルが Java クラスであるかどうかを確認するためだけに使用できます。同じロジックを使用して任意のファイル形式に適用することはできません。

編集:..またはwavファイルのみを確認したいですか?

Edit2: Java のすべてはビッグ エンディアンです。つまり、DataInputStream.readInt を使用してファイルから最初の 4 バイトを読み取り、返された int を 0x52494646 (ビッグ エンディアン整数としての RIFF) と比較できます。

于 2011-05-08T15:09:19.673 に答える