一、实现功能
Apache Tika解析各种文件内容以及元数据。
二、参考官网
https://tika.apache.org/0.7/formats.html
三、解析文件代码
1.pom依赖
<!--tika -->
<dependency>
<groupId>org.apache.tika</groupId>
<artifactId>tika-core</artifactId>
<version>0.7</version>
</dependency>
<dependency>
<groupId>org.apache.tika</groupId>
<artifactId>tika-parsers</artifactId>
<version>0.7</version>
</dependency>
2.代码
package Utils;
import org.apache.tika.Tika;
import org.apache.tika.config.TikaConfig;
import org.apache.tika.utils.ParseUtils;
import java.io.File;
public class tika_getfile {
public static void main(String[] args) throws Exception{
// String path1="D:\\testdata\\设计提出来-1.txt";
// String path2="D:\\testdata\\word.pdf";
// String path3="D:\\testdata\\配置.doc";
// System.out.println(parse(path3));
tika_getfile.tika();
}
/**
* 方法一:使用ParseUtils解析
* 解析各种类型文件
* @param
* @return 文件内容字符串
*/
public static String parse(String path) {
String result = "";
TikaConfig tikaConfig = TikaConfig.getDefaultConfig();
try {
result = ParseUtils.getStringContent(new File(path), tikaConfig);
}catch (Exception e) {
// log.debug("[by ninja.hzw]" + e);
}
return result;
}
public static void tika() throws Exception{
Tika tika=new Tika();
String[] tt=new String[]{"D:\\testdata\\solr设计提出来-20190515-1.txt",
"D:\\testdata\\word.pdf",
"D:\\testdata\\solr索引建立配置.doc"};
for (String file : tt) {
System.out.println(file);
System.out.println(tika.detect(new File(file)));
String text = tika.parseToString(new File(file));
System.out.print(text);
}
}
}
3.测试成功,解析txt/pdf/doc