Извлечь ТГЗ с подпапками Java
У меня есть файл archive.tgz
, который состоит из нескольких подпапок, хранящих файлы XML. Я хочу перебрать все файлы из и проанализировать XML-файлы. Каталог файлов структурирован следующим образом.
01/
01.xml
02.xml
02/
03.xml
Вот код Java, который я уже пробовал, но когда я пробую метод getFile, файл всегда равен нулю. Я также попытался получить каталог из одной из записей, получить из него подфайлы и получить файл по абсолютному пути.
while ((entry = (TarArchiveEntry) tarIn.getNextEntry()) != null) {
if (entry.isFile()) {
entry.getFile();
// Parse xml but this is null
}
}
1 ответ
TarArchiveEntry#getFile
не могу это сделать. Вместо этого попробуйте с TarArchiveInputStream
читать данные:
byte[] data = new byte[(int) entry.getSize()];
tarIn.read(data);
После того, как вы получите data
Вы можете разобрать свой XML.