最近看到一篇文章,其中有一行代码是判断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文件,以及这个class文件有没有受损,即使文件的后缀名被修改也能判断出来。 参考:https://blog.csdn.net/ustcyy91/article/details/78462378  
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。