一般来说你可以使用 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]
上面测试过一些文件类和类型的返回。