夥計們,提取ZIP在Java
我使用zip4j API提取Java中的.zip文件,並能夠提取文件
我已經習慣了拉鍊的完整目錄,使拉鍊和它包含的文件和嵌套目錄中,使用
zipFile.addFolder(文件目錄,參數); // ZIP目錄中的文件/文件夾
提取使用
ZipFile zipFile = new ZipFile(stringArchievedFile); //Extracts all files to the path specified zipFile.extractAll(stringExtractingFilePath);
問題是提取後,文件應該被提取到我設置有zipFile.extractAll(path)
方法,但正在創建一個多個目錄的路徑拉鍊。我如何可以將文件解壓到實際的指定目錄
像: 提取路徑 C:\ ExtractionPath
文件路徑 C:\ SelectingPath \文件1
C:\ SelectingPath \ File2
C:\ SelectingPath \ Directory1 \ File1
C:\ SelectingPath \ Directory2 \文件1
我將選擇C:\ SelectingPath目錄壓縮和
我將選擇C:\ ExtractionPath目錄提取文件
在提取後所有提取的文件將進入
** C:\ ExtractionPath \ SelectingPath **
我需要目錄中的所有文件
** C:\ ExtractionPath ** 本身。
請幫我解決這個問題。
在此先感謝
不要壓縮了'SelectingPath'文件夾。壓縮內容。如果你打開zip文件,你會看到所有文件的路徑都以'SelectingPath'開始,而你不需要。 – Andreas
您的意思是,我需要將所有文件和目錄添加到'ArrayList'並將其作爲參數傳遞給zipFile.addFiles()方法,如下所示:zipFile.addFiles(arrayListFilesFolders,parameters); – Bhat
@Andreas,如果我使用ArrayList作爲文件和目錄並將它作爲參數傳遞給zipFile.addFile()方法,我會得到以下例外,並且無法將我選擇的完整目錄歸檔爲「ex」 =(net.lingala.zip4j.exception.ZipException)net.lingala.zip4j.exception.ZipException:輸入ArrayList中的一個或多個元素的類型不是File' – Bhat