org.apache.tika.exception.TikaException:无法关闭临时资源

问题描述

我正在Windows 10 jre 1.8.0_241上使用Apache Tika,并且已经使用ant导入了 Tika 1.24.1 。 我有以下代码从PDF中提取内容:

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;

import org.apache.tika.Tika;
import org.apache.tika.exception.TikaException;
import org.apache.tika.metadata.Metadata;
import org.apache.tika.metadata.TikaCoreProperties;
import org.xml.sax.SAXException;

public class TikaExtraction {
    
   public static void main(final String[] args) throws IOException,TikaException {

      //Assume sample.txt is in your current directory              
      File file = new File("C:\\Users\\myPC\\Desktop\\testPDF.pdf");
      
      //Instantiating Tika facade class
      Tika tika = new Tika();
      String filecontent = tika.parseToString(file);
      System.out.println("Extracted Content: " + filecontent);
      
   }         
}

尝试从PDF提取内容时,出现以下异常:

Exception in thread "main" org.apache.tika.exception.TikaException: Failed to close temporary resources
    at org.apache.tika.io.TemporaryResources.dispose(TemporaryResources.java:174)
    at org.apache.tika.parser.AutoDetectParser.parse(AutoDetectParser.java:150)
    at org.apache.tika.Tika.parseToString(Tika.java:527)
    at com.oracle.cegbu.filesearch.service.kafka.TikaExtraction.main(TikaExtraction.java:28)
Caused by: java.nio.file.FileSystemException: C:\Users\myPC\AppData\Local\Temp\apache-tika-6518312717498705085.tmp: The process cannot access the file because it is being used by another process.

    at sun.nio.fs.WindowsException.translateToIOException(Unknown Source)
    at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
    at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
    at sun.nio.fs.WindowsFileSystemProvider.implDelete(Unknown Source)
    at sun.nio.fs.AbstractFileSystemProvider.delete(Unknown Source)
    at java.nio.file.Files.delete(Unknown Source)
    at org.apache.tika.io.TemporaryResources$1.close(TemporaryResources.java:84)
    at org.apache.tika.io.TemporaryResources.close(TemporaryResources.java:145)
    at org.apache.tika.io.TemporaryResources.dispose(TemporaryResources.java:172)
    ... 3 more

我经历过TikaException: Failed to close temporary resource - how to fix?,但这是TesseractOCRParser的问题,而AutoDetectParser也遇到了同样的问题。 tmp文件位于Temp文件夹中,并且该文件似乎没有正确的解析内容。也没有冲突的罐子。任何有关如何解决该异常的见解将不胜感激!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...