2017-10-19 157 views
0

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

是否有一些标准的方式/标准库,可以告诉是否由字节数组表示的文件是有效的zip文件?

+2

看看它的[幻数](https://en.wikipedia.org/wiki/Zip_(file_format))。 –

+0

你对“有效的压缩文件”的定义是什么? –

回答

3

文件在文件的开头使用magic numbers通常被确定。

为了对某个给定文件进行有根据的猜测Java内置了检测某些文件类型的方法:Files.probeContentType。此外,还有各种第三方库:simplemagicApache Tika(它不仅支持幻数)。

但是,内容检测本身并不会告诉您文件是否为有效。为此,您需要一些实际知道如何读取Zip文件的东西,例如Java的ZipFile

相关问题