2017-10-19 201 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

相關問題