【发布时间】:2013-06-17 23:19:33
【问题描述】:
我有一个没有扩展名的文件。但我需要确定该文件是否是使用 java 的 zip 文件。有什么方法可以查出该文件是否为 zip 格式?
【问题讨论】:
标签: java
我有一个没有扩展名的文件。但我需要确定该文件是否是使用 java 的 zip 文件。有什么方法可以查出该文件是否为 zip 格式?
【问题讨论】:
标签: java
有:尝试在上面打开一个ZipFile;如果不是 ZIP,你会得到一个ZipException。
使用 JDK 7,更容易:
Files.probeContentType(Paths.get("/path/to/file"))
如果文件是 zip 文件,它将返回“application/zip”!
奖励:使用 Java 7,您可以以 FileSystem 的形式访问 zip 文件(或 jar 文件,因为 jar 是 zip 文件)、在其中导航、修改文件等。不再有这些讨厌的 ZipEntry/JarEntry对象了。
抛弃File。快。
【讨论】:
probeContentType()的结果并不总是application/zip,有时也可以是application/x-zip-compressed。
使用ZipInputStream打开它并检查它是否抛出ZipException
编辑:ZipException 是正确的例外
【讨论】: