Я создаю tzp-файл, используя TrueZip 7, и метод cp_rp, чтобы сразу добавить все содержимое каталога в tzp-файл.
После этого я пытаюсь извлечь все содержимое tzpфайл в целевой каталог.Однако вызов:
zipFile = new TFile("test.zip");
public void extract(TFile file){
for (TFile iFile : zipFile.listFiles()){
if(iFile.isDirectory()){
extract(iFile);
}else{
File output = new File(iFile.getPath());
iFile.mv(output);
}
}
}
Сбой с ошибкой: java.io.IOException: [путь] \ test.zip \ Myjar.jar (место назначения уже существует) .Если я использую cp вместо mv, то ошибка будет [path] \ test.zip \ Myjar.jar (содержится в [path] \ test.zip \ Myjar.jar)
Проблема также заключается в том, что TrueZip идентифицирует zips и jar как каталоги и архивы, поэтому при выполнении isDirectory () для них это происходит успешно, а listFiles () возвращает все файлы, содержащиеся в нем, поэтому при запуске cp ()файлы рекурсивно вызывают копирование всего содержимого jar / zip в каталоги.
Как правильно извлечь эти архивные файлы без их расширения?