如何检测JAR文件?

时间:2011-08-15 22:40:00

标签: java jar inputstream

我怎么知道输入流是否是JAR文件?

我可以使用以下方法检测JAR文件:

try {
  JarFile jar = new JarFile("file");
} catch(ZipException e) {
  // not a jar file
  ...
}

但如果我只有输入流怎么办呢?我需要将其写入文件吗? 有什么优雅的方式吗?

2 个答案:

答案 0 :(得分:1)

http://download.oracle.com/javase/1.4.2/docs/api/java/util/jar/JarInputStream.html#JarInputStream(java.io.InputStream

try {
  JarInputStream jar = new JarInputStream(inputStream);
} catch(Exception e) {
  // not a jar file
  ...
}

答案 1 :(得分:0)

如果您想进行一些智能预过滤,可以查找local file header signature byte: 0x04034b50