一般来说你可以使用 Apache Tika 来获得文件的类型。
Tika 是一个内容分析工具。
Apache Tika是一个用java编写的内容检测和分析框架,是Apache的Lucene项目的子项目。它能够检测很多不同文件类型的文件,并提取文件的元数据和结构化文本。
它提供了一个命令行界面和一个GUI界面,还提供一个java库。可用于自然语言处理过程中文本内容的抽取,以及搜索引擎进行数据抓取后的处理步骤。
Maven
设置 maven 的版本到你的 POM 文件中。
org.apache.tika
tika-core
1.25
测试代码
例如,我们可以使用下面的测试代码。
@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]
上面测试过一些文件类和类型的返回。
领取专属 10元无门槛券
私享最新 技术干货