如何检测 JAR 文件?
我如何知道输入流是否是 JAR 文件?
我可以使用以下方法检测 JAR 文件:
try {
JarFile jar = new JarFile("file");
} catch(ZipException e) {
// not a jar file
...
}
但是如果我只有输入流,我该怎么办?我需要将其写入文件吗?
有什么优雅的方式吗?
How could I know if a inputstream is a JAR file?
I can detect a JAR file by using:
try {
JarFile jar = new JarFile("file");
} catch(ZipException e) {
// not a jar file
...
}
But how should I do if I only have the inputstream? Do I need to write it to a file?
Any elegant way?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
http ://download.oracle.com/javase/1.4.2/docs/api/java/util/jar/JarInputStream.html#JarInputStream(java.io.InputStream)
http://download.oracle.com/javase/1.4.2/docs/api/java/util/jar/JarInputStream.html#JarInputStream(java.io.InputStream)
如果你想做一些智能预过滤,你可以寻找本地文件头签名字节:0x04034b50
If you want to do some intelligent prefiltering, you can look for the local file header signature byte: 0x04034b50