2016-04-27 50 views
0

是否有直接的方式將java.util.zip.ZipEntry解壓到FileZipEntry到文件

我想指定一個位置(如「C:\ temp \ myfile.java」)並將條目解壓縮到該位置。

在網絡上有一些代碼與流,但我更喜歡測試庫函數。

+1

*「...到'File'?」* ['File'](http://docs.oracle.com/javase/8/docs/api/java/io/File.html)是一個抽象表示的路徑名。你的意思是「文件」(無代碼標記)? –

+0

一個意思是,我給函數一個File,並且它解包了那個抽象路徑名的入口。 –

+1

如果這不清楚或重複,我很抱歉,但請評論,而不是僅僅投票。 –

回答

7

使用的ZipFile類

ZipFile zf = new ZipFile("zipfile"); 

獲取入口

ZipEntry e = zf.getEntry("name"); 

獲得inpustream

InputStream is = zf.getInputStream(e); 

保存字節

Files.copy(is, Paths.get("C:\\temp\\myfile.java")); 
2

使用ZipInputStream通過迭代使用getNextEntry()方法移動到所需的ZipEntry。然後使用ZipInputStream.read(...)方法讀取當前的ZipEntry的字節。將這些字節輸出到指向您選擇的文件的FileOutputStream

+0

這意味着:不,沒有庫函數? –

相關問題