微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Java apache Tika 如何从 rar 获取文件?

如何解决Java apache Tika 如何从 rar 获取文件?

我正在处理 file.rar (rar v.4),它有 2 个文件:1.txt 和 2.txt。

示例内容1.txt:

word1 word1

示例内容2.txt:

word2 word2

经过这段代码处理后:

            try (InputStream is = new BufferedInputStream(new FileInputStream(newStr))){
                
                String mimeType = tika.detect(is);
                Metadata.set(Metadata.CONTENT_TYPE,mimeType);
                
                AutoDetectParser parser = new AutoDetectParser();
                ParseContext pc = new ParseContext(); 
                ContentHandler ch = new BodyContentHandler(-1);
                parser.parse(is,ch,Metadata,pc);

                byte[] arrayCh = ch.toString().trim().getBytes("UTF-8");
                
                file_size = arrayCh.length;
                if(arrayCh.length != 0){ 
                
                    String outdir = Path[1];

                    String newName = outdir + File.separator + datFile.replace("dat","txt");
                    File outPutFile_json = new File(newName);
                    outPutFile_json.createNewFile();
                 }

                 System.out.println("ch: "+ch.toString());

             catch(){
               .... 
             }

之后:

parser.parse(is,pc);

我在一个共享变量中有 file.rar 的内容

ch.toString()

这个变量 ch.toString 有来自 1.txt 的文本并附加文本 2.txt:

所以 ch.toString:

word1 word1 2.txtword2 word2

如何分别获取 1.txt 和 2.txt 的内容,而不是在同一个变量 ch.toString 中? 我希望 1.txt 中的文本是新变量 1,而 2.txt 中的文本是新变量 2。我怎样才能得到这个?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。