Java Как получить файлы из архива rar (v.4)? (Apache Tika)

Я хочу обработать файл file.rar, в котором содержаться 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, ch, metadata, pc);

В переменной:

ch.toString()

Храниться такое содержимое:

word1 word1 2.txtword2 word2

То есть Tika достала содержимое архива и сохранила это в одно место, а именно в переменную ch.


Подскажите как достать содержимое так, чтобы оно было в разных переменных, например текст из первого файла в одном месте, текст из второго файла в другом, чтобы было не так, что все в одной переменной ch.toString(), а две новые переменные или что-то типа массива, который имеет размер кол-во вложенных файлов, и чтобы содержимое хранилось не в одной переменной.

Подскажите как это можно реализовать? Заранее спасибо.


Ответы (0 шт):