一般來說你可以使用 Apache Tika 來獲得文件的類型。
Tika 是一個內容分析工具
Maven
設置 maven 的版本到你的 POM 文件中。
<!-- https://mvnrepository.com/artifact/org.apache.tika/tika-core --> <dependency> <groupId>org.apache.tika</groupId> <artifactId>tika-core</artifactId> <version>1.25</version> </dependency>
測試代碼
例如,我們可以使用下面的測試代碼。
@Test
public void whenUsingTika_thenSuccess() { File file = new File("product.png"); Tika tika = new Tika(); String mimeType = tika.detect(file); assertEquals(mimeType, "image/png"); }
你需要首先 New 一個文件對象,然后通過文件對象進行測試就可以了。
例如我們使用上面類似的代碼測試了一些代碼:
09:32:36.377 [main] DEBUG c.i.s.c.test.utilities.FileUtilsTest - TXT - [text/plain] 09:32:36.389 [main] DEBUG c.i.s.c.test.utilities.FileUtilsTest - CSV - [text/csv] 09:32:36.395 [main] DEBUG c.i.s.c.test.utilities.FileUtilsTest - XLS - [application/vnd.ms-excel] 09:32:36.399 [main] DEBUG c.i.s.c.test.utilities.FileUtilsTest - XLSX - [application/vnd.openxmlformats-officedocument.spreadsheetml.sheet]
上面測試過一些文件類和類型的返回。