我怎麼知道輸入流是否是JAR文件?如何檢測JAR文件?
我可以通過使用檢測JAR文件:
try {
JarFile jar = new JarFile("file");
} catch(ZipException e) {
// not a jar file
...
}
但我應該怎麼做,如果我只有InputStream的?我需要將它寫入文件嗎?
任何優雅的方式?
我怎麼知道輸入流是否是JAR文件?如何檢測JAR文件?
我可以通過使用檢測JAR文件:
try {
JarFile jar = new JarFile("file");
} catch(ZipException e) {
// not a jar file
...
}
但我應該怎麼做,如果我只有InputStream的?我需要將它寫入文件嗎?
任何優雅的方式?
try {
JarInputStream jar = new JarInputStream(inputStream);
} catch(Exception e) {
// not a jar file
...
}
您可能想要提供更新的JavaDoc鏈接。 Java 1.4.2這幾天是古老的歷史。 –
這一個不起作用。您可以嘗試提供一個txt文件並查看結果。 – willpowerforever
抱歉@willpowerforever,我沒有嘗試它,只是想指向類 – bpgergo
如果你想要做一些智能預濾,你可以看看爲local file header signature byte: 0x04034b50
看一看[TrueZip(http://truezip.java.net)它爲各種壓縮/歸檔文件格式提供了VFS。 –
從文件格式方面來看,jar文件只是一個名稱改變,固定文件名編碼(UTF-8)和一些元數據文件的zip文件。因此,使用任何你用來檢測壓縮文件。 –