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(), а две новые переменные или что-то типа массива, который имеет размер кол-во вложенных файлов, и чтобы содержимое хранилось не в одной переменной.
Подскажите как это можно реализовать? Заранее спасибо.