关于判断一个文件是否是class文件
Posted chengu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于判断一个文件是否是class文件相关的知识,希望对你有一定的参考价值。
最近看到一篇文章,其中有一行代码是判断class文件类型的,代码片段:
InputStream is = new InputStream("Test.Class");
DataInputStream dis;
if
(is
instanceof
DataInputStream)
dis = (DataInputStream) is;
else
dis =
new
DataInputStream(is);
if
(dis.readInt() !=
0xcafebabe
)
throw
new
IOException(
"not a .class file"
);
由于对IO操作不是很精通,对这行代码产生的疑问
if
(dis.readInt() !=
0xcafebabe
),
查阅相关资料,readInt()方法是读取输入流的四个字节,而class文件都是以CA FE BA BE 开头的,上图这么做的原因就是为了快速判断一个文件是不是有可能为class文件,以及这个class文件有没有受损,即使文件的后缀名被修改也能判断出来。
参考:https://blog.csdn.net/ustcyy91/article/details/78462378
以上是关于关于判断一个文件是否是class文件的主要内容,如果未能解决你的问题,请参考以下文章
关于js----------------分享前端开发常用代码片段