如何使用apache tika解析.pst文件
1.2?
在使用ljcene进行搜索时,如何获取电子邮件的全身,附件和所有元数据?
for (File file : docs.listFiles()) {
Metadata metadata = new Metadata();
ContentHandler handler = new BodyContentHandler();
ParseContext context = new ParseContext();
Parser parser = new AutoDetectParser();
InputStream stream = new FileInputStream(file);
try {
parser.parse(stream, handler, metadata, context);
}
catch (TikaException e) {
e.printStackTrace();
}
catch (SAXException e) {
e.printStackTrace();
}
答案 0 :(得分:1)
如果你坚持使用1.2,可以尝试推荐here
如果您能够升级,我们在1.7中添加了RecursiveParserWrapper ...如果可以的话,只需升级到1.12,或等待一两周,1.13就应该出来。
通过命令行:
java -jar tika-app.jar -J -t -i input_directory -o output_directory
或代码:
Parser p = new AutoDetectParser();
RecursiveParserWrapper wrapper = new RecursiveParserWrapper(p,
new BasicContentHandlerFactory(
BasicContentHandlerFactory.HANDLER_TYPE.XML, -1));
try (InputStream is = Files.newInputStream(file)) {
wrapper.parse(is, new DefaultHandler(), new Metadata(), context);
}
int i = 0;
for (Metadata metadata : wrapper.getMetadata()) {
for (String name : metadata.names()) {
for (String value : metadata.getValues(name)) {
System.out.println(i + " " + name +": " + value);
}
}
i++;
}