在Java或Groovy中,如何查找byte []的文件类型?

Noe*_*Yap 1 java

我有一个byte[]我通过电线,并想要验证它是一个JPEG.如何才能做到这一点?

基本上,无需写出文件,我或多或少地会做file命令的作用:

$ file aoeu.jpeg
aoeu.jpeg: JPEG image data, JFIF standard 1.02
Run Code Online (Sandbox Code Playgroud)

Cri*_*ses 6

您可以读取流的第一个和最后一个字节,并检查"幻数"

基本上,Magic Numbers是标识文件内容的字节标题

JPEG image files begin with FF D8 and end with FF D9.
Run Code Online (Sandbox Code Playgroud)

更多信息在这里