`

二十二、Tika

 
阅读更多

Tika是2008年才产生的一个apache的项目,主要用于打开各种不同的文档,1.0



public class IndexUtil {
   
    public void index() {
        try {
            File f = new File("d:/lucene/example2/MyBatis 3 User Guide Simplified Chinese.pdf");
            Directory dir = FSDirectory.open(new File("d:/lucene/file2"));
            IndexWriter writer = new IndexWriter(dir,new IndexWriterConfig(Version.LUCENE_35, new MMSegAnalyzer()));
            writer.deleteAll();
            Document doc = new Document();
            doc.add(new Field("content",new Tika().parse(f) ));
            writer.addDocument(doc);
            writer.close();
        } catch (CorruptIndexException e) {
            e.printStackTrace();
        } catch (LockObtainFailedException e) {
            e.printStackTrace();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
   
    public String tikaTool(File f) throws IOException, TikaException {
        Tika tika = new Tika();
        Metadata metadata = new Metadata();
        metadata.set(Metadata.AUTHOR, "空号");
        metadata.set(Metadata.RESOURCE_NAME_KEY, f.getName());
        String str = tika.parseToString(new FileInputStream(f),metadata);

        for(String name:metadata.names() ) {
            System.out.println(name+":"+metadata.get(name));
        }
        return str;
    }
   
    public String fileToTxt(File f) {
        Parser parser = new AutoDetectParser();
        InputStream is = null;
        try {
            Metadata metadata = new Metadata();
            metadata.set(Metadata.AUTHOR, "空号");
            metadata.set(Metadata.RESOURCE_NAME_KEY, f.getName());
            is = new FileInputStream(f);
            ContentHandler handler = new BodyContentHandler();
            ParseContext context = new ParseContext();
            context.set(Parser.class,parser);
            parser.parse(is,handler, metadata,context);
            for(String name:metadata.names()) {
                System.out.println(name+":"+metadata.get(name));
            }
            return handler.toString();

        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (SAXException e) {
            e.printStackTrace();
        } catch (TikaException e) {
            e.printStackTrace();
        } finally {
            try {
                if(is!=null) is.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return null;
    }
}

分享到:
评论

相关推荐

    tika提取文本内容

    Tika是一款强大的开源Java库,专门用于从各种文件格式中提取元数据和文本内容。它在信息技术领域,尤其是文本处理和信息检索中扮演着重要角色。Tika利用Apache的MIME类型识别系统来识别文件类型,并且能够处理大量的...

    tika读取文件专用包

    Apache Tika是一款强大的内容检测和元数据提取工具,主要用于从各种文件格式中抽取文本和元数据。这个"tika读取文件专用包"显然包含了Tika项目所需要的各种jar包,这些jar包支持处理多种文件类型,如PDF、DOC、XLS、...

    tika-python绑定到 Apache Tika REST 服务

    tika-python 绑定到 Apache Tika REST 服务 Python binding to the Apache Tika REST services Apache Tika 库的 Python 端口,可使用 Tika REST 服务器使 Tika 可用。这使得 Apache Tika 可作为 Python 库使用,可...

    tika-core-1.22.jar_tika_

    Apache Tika本产品包括在以下位置开发的软件Apache软件基金会。版权所有1993-2010大学大气研究公司/ Unidata该软件包含源自UCAR / Unidata的NetCDF库的代码。Tika服务器组件使用CDDL许可的依赖项

    tika jar包

    Tika是一个强大的Apache项目,主要用于从各种文件格式中提取元数据和内容。它是一个内容分析工具,能够识别和解析超过500种不同的文件类型,包括文档、图像、音频和视频文件。在Java环境中,Tika是通过JAR(Java ...

    tika1.4.zip

    1. **Detector**:用于识别文件类型,Tika可以根据文件的二进制签名或元数据确定文件类型。 2. **Extractor**:将解析后的文本和元数据提取出来,供进一步处理或存储。 3. **ContentHandler**:这是一个接口,允许...

    tika-parsers-1.9.jar是 Apache Tika 中用于解析各种文档格式的核心组件之一

    tika-parsers-1.9.jar是 Apache Tika 中用于解析各种文档格式的核心组件之一

    tika0.5基本jar包

    Apache Tika是一款强大的内容检测和元数据提取工具,主要用于从各种文件格式中抽取文本内容和元数据。在Java环境中,Tika提供了丰富的API,使得开发者能够轻松地处理各种类型的文件,包括但不限于文档、图片、音频和...

    tika 1.0最新版本

    tika最新版本,tika-app-1.0.jar,提取office和pdf文档内容

    Manning.Tika.in.Action.Nov.2011.pdf

    英文Tika in Action Tika in Action to be a hands-on guide for developers working with search engines, content management systems, and other similar applications who want to exploit the information ...

    apache中的tika包

    Apache Tika是一个强大的内容检测和元数据提取库,主要用于解析各种不同格式的文件。它被广泛应用于信息检索、文本挖掘和内容分析等领域。Tika与Apache Lucene项目密切相关,Lucene是一个高性能、全文本搜索库,而...

    apache tika jar包

    Apache Tika 利用现有的解析类库,从不同格式的文档中(例如HTML, PDF, Doc),侦测和提取出元数据和结构化内容。  功能包括:  侦测文档的类型,字符编码,语言,等其他现有文档的属性。  提取结构化的文字内容。...

    tika+lucene完整jar包

    Tika和Lucene是两个非常重要的Java库,广泛应用于信息提取和全文检索领域。这个压缩包包含"tika-app-1.20.jar"和"lucene-7.7.1",它们分别是Apache Tika和Apache Lucene的特定版本。 Apache Tika是一个内容分析工具...

    Apache Tika 1.1 所需jar包

    Apache Tika 1.1 所需要的jar包,方便不想用maven的同学. 此压缩包内是核心jar包,依据http://tika.apache.org/1.1/gettingstarted.html 中Using Tika in an Ant project章节列出的 classpath 找齐 部分版本比文章中...

    tika.jar包

    可直接通过java -jar tika.jar运行该jar包 查看我们解析得到文本的结果

    Python库 | tika-1.13.tar.gz

    **Python库tika-1.13.tar.gz详解** 在Python开发中,库扮演着至关重要的角色,它们提供了丰富的功能,让开发者能够高效地完成任务。"tika-1.13.tar.gz"是一个针对Python的库,它封装了Apache Tika,一个强大的内容...

    apache-tika-0.8-src.jar

    - **Detectors**: 这部分代码用于文件类型的检测,通常基于文件的二进制头信息进行判断。 - **Metadatas**: 包含了关于元数据处理的类和接口。 - **Utils**: 提供了一些通用的辅助工具函数,如字符编码检测、文本...

    apache-tika-1.0-src.zip

    Apache Tika是一款强大的内容检测和元数据提取工具,主要用于从各种类型的文件中抽取文本和元数据。Tika是Apache软件基金会的一个项目,它构建在Java之上,为开发者提供了丰富的API来解析不同格式的文档,包括但不...

Global site tag (gtag.js) - Google Analytics