我希望遞歸讀取壓縮文件的內容並將所有找到的文件保存到我的硬盤驅動器。如何閱讀壓縮文件的內容並保存文件
我讀的zip文件是這樣的:
def zipFile = new java.util.zip.ZipFile(new File('/Users/birdy/test.zip'))
zipFile.entries().findAll { !it.directory }.each {
def is = zipFile.getInputStream(it)
//how do i store this stream to a file?
}
如果一個zip文件有下列文件:
folder1/test1.txt
folder2/test2.jpg
的話,我希望存儲test1.txt
和test2.jpg
我HD
幾件事情:首先,'文件可能不存在的'新文件(e.name)的父目錄。其次,爲什麼'withWriter'而不是'withInputStream'?這不是假設的人物數據? – bdkosher 2014-10-20 17:10:11
當涉及到父目錄時,如果您在處理zip的相同目錄中運行腳本,它將會存在。 Steam改變了。 – Opal 2014-10-20 17:14:11
Zip條目名稱不一定是一個深度的路徑元素。在某些情況下,條目的父目錄需要在本地文件系統上創建,但不幸的是,當你開始向文件寫入內容時,這不會自動發生。你需要一個明確的'mkdirs()'調用。 – bdkosher 2014-10-20 17:41:14