在我们的应用程序中,我们正在使用Apache Tika处理文件。但是有一些Tika无法处理的文件(例如* .mov,* .mp4),并在用户的Temp文件夹中留下相应的* .tmp文件。经过一番研究,我发现,这是一个已知的bug:https://issues.apache.org/jira/browse/TIKA-1040?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanelTika无法删除临时文件
在最后的评论大约一个解决方法,用户会谈,但它并没有为我工作:
final Tika tika = new Tika();
final TikaInputStream fileStream = TikaInputStream.get(/*some InputStream*/);
try {
final String extractedString = tika.parseToString(fileStream);
//do something with the string
} finally {
CloseUtils.close(fileStream);
}
使用上面的代码,仍然留下的临时文件在Temp文件夹中。有什么可以解决这个问题的?仍然
final File file = new File("c:/some_file.mov");
final TikaInputStream fileStream = TikaInputStream.get(file);
提卡不能处理它,但它实际上设法删除correspondig tmp文件:
如果你是在Linux/Unix,你可以让一个cronjob清理临时文件。 –
不幸的是我在Windows上,我也必须从Java解决这个问题。 – nosferat