`

二十二、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-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提取文本内容

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

    tika读取文件专用包

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

    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**:这是一个接口,允许...

    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-app-1.19.1.jar

    tika-app.1.19.1.jar,轻松提取文本正文的工具。。。。

    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