Java:告诉字节数组是否是zip文件

时间:2017-10-19 14:10:40

标签: java zip zipfile

我有一个用Java编写的服务器,在一个请求中,从客户端获取一个完整的文件。该文件作为字节列表传递给服务器,最后在java服务器中表示为字节数组。

是否有一些标准方式/标准库可以判断字节数组所表示的文件是否是有效的 zip 文件?

3 个答案:

答案 0 :(得分:2)

通常使用文件开头的magic numbers标识文件。

为了对给定文件做出有根据的猜测,Java有一种检测某些文件类型的内置方法:Files.probeContentType。此外,还有各种第三方库:simplemagicApache Tika(仅支持魔术数字)。

但单独的内容检测不会告诉您该文件是否有效。为此,您需要实际知道如何读取Zip文件的内容,例如Java ZipFile

答案 1 :(得分:0)

检查Zip4j库。它非常易于使用,ZipFile类有isValidZipFile()方法

答案 2 :(得分:0)

如果您想要为此过程实施标准方法,可以使用序列化API。对于使用以下在搜索此主题时发现自己的文章。

Article 1 - javaworld
Article 2 - developer.com