Apache Tika解析doc/docx/txt/xls等文件内容

一、实现功能

Apache Tika解析各种文件内容以及元数据。

二、参考官网

https://tika.apache.org/0.7/formats.html

三、解析文件代码

1.pom依赖

<!--tika  -->
<dependency>
    <groupId>org.apache.tika</groupId>
    <artifactId>tika-core</artifactId>
    <version>0.7</version>
</dependency>
<dependency>
    <groupId>org.apache.tika</groupId>
    <artifactId>tika-parsers</artifactId>
    <version>0.7</version>
</dependency>

2.代码

package Utils;

import org.apache.tika.Tika;
import org.apache.tika.config.TikaConfig;
import org.apache.tika.utils.ParseUtils;

import java.io.File;

public class tika_getfile {

    public static void main(String[] args) throws  Exception{
//        String path1="D:\\testdata\\设计提出来-1.txt";
//        String path2="D:\\testdata\\word.pdf";
//        String path3="D:\\testdata\\配置.doc";
//        System.out.println(parse(path3));

        tika_getfile.tika();
    }
    /**
     * 方法一:使用ParseUtils解析
     * 解析各种类型文件
     * @param
     * @return 文件内容字符串
     */
    public static String parse(String path) {
        String result = "";
        TikaConfig tikaConfig = TikaConfig.getDefaultConfig();
        try {
            result = ParseUtils.getStringContent(new File(path), tikaConfig);
        }catch (Exception e) {
//            log.debug("[by ninja.hzw]" + e);
        }
        return result;
    }

    public  static  void tika() throws Exception{
        Tika tika=new Tika();
        String[] tt=new String[]{"D:\\testdata\\solr设计提出来-20190515-1.txt",
                "D:\\testdata\\word.pdf",
                "D:\\testdata\\solr索引建立配置.doc"};

        for (String file : tt) {
            System.out.println(file);
            System.out.println(tika.detect(new File(file)));
            String text = tika.parseToString(new File(file));
            System.out.print(text);
        }
    }
}

3.测试成功,解析txt/pdf/doc

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Apache Tika可以通过使用OpenDesign Alliance的Teigha库来解析dwg文件的属性信息。Teigha库可以解析DWG文件的所有版本,包括最新的AutoCAD 2021格式。Tika使用Teigha库来提取DWG文件的元数据信息,例如作者,标题,关键字等等。您可以通过以下代码使用Tika解析DWG文件的元数据信息: ```java import org.apache.tika.metadata.Metadata; import org.apache.tika.parser.ParseContext; import org.apache.tika.parser.dwg.DWGParser; import org.apache.tika.sax.BodyContentHandler; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; public class DWGMetadataExtractor { public static void main(String[] args) throws Exception { File file = new File("example.dwg"); InputStream stream = new FileInputStream(file); BodyContentHandler handler = new BodyContentHandler(); Metadata metadata = new Metadata(); ParseContext parseContext = new ParseContext(); // Set up the DWG parser with Teigha library DWGParser dwgParser = new DWGParser(); dwgParser.setTeighaInitializationPath("/path/to/TeighaFileConverter"); // Parse the DWG file and extract metadata dwgParser.parse(stream, handler, metadata, parseContext); // Print the metadata String[] names = metadata.names(); for (String name : names) { System.out.println(name + ": " + metadata.get(name)); } } } ``` 在上面的代码中,我们首先创建了一个`DWGParser`实例,并设置了Teigha库的初始化路径。然后,我们使用`DWGParser`解析DWG文件,并提取元数据信息。最后,我们遍历元数据信息,将其打印出来。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值