2017-07-26 148 views
0

我需要的是創建一個臨時文件夾並將其放入已經在我的計算機中退出的zip文件夾中。如何在裏面創建帶有zip文件夾的臨時文件夾

我沒有找到任何解決方案或示例來構建此代碼。

我在home/myName/folderTest(在Ubuntu中)創建了一個文件夾。在folderTest的內部,我創建了一個臨時文件夾。現在我需要把我的拉鍊放進這個文件夾中。我不知道如何做到這一點,以及如何在我不需要時刪除臨時文件夾。

public static void main(String[] args) throws IOException { 
    Path rootDirectory = FileSystems.getDefault().getPath("/home/myName/folderTest"); 
    Path tempDirectory = Files.createTempDirectory(rootDirectory, ""); 
    String dirPath = tempDirectory.toString(); 
    System.out.println(dirPath); 

    try 
    { 
     ZipFile zipFile = new ZipFile("/home/myName/zipTest.zip"); 
     ZipParameters parameters = new ZipParameters(); 
     zipFile.addFolder(dirPath, parameters); 
    } 
    catch (ZipException e) { 
     e.printStackTrace(); 
    } 
} 

此代碼不會給出任何錯誤,但zip不會複製到臨時文件夾。

+0

你嘗試過什麼了嗎? https://stackoverflow.com/questions/617414/how-to-create-a-temporary-directory-folder-in-java和https://stackoverflow.com/questions/106770/standard-concise-way-to-在java中複製文件 – Caramiriel

+0

我不確定你在搜索時所付出的努力 – ayush

+0

如何創建一個臨時文件夾 - https://stackoverflow.com/questions/617414/how-to-create-a-temporary-目錄文件夾在java中 – ayush

回答

0

使用zip4j,你可以做這樣的事情 -

ZipFile zipFile = new ZipFile(source); 
ZipParameters parameters = new ZipParameters(); 

zipFile.addFolder(dirPath); 

這裏source是,你說的已經存在於您的zip文件的路徑。

如何將zip文件複製到此目的地。你可以在許多ways..Simplest做的是 -

org.apache.commons.io.FileUtils.copyFile(File, File)

FileUtils.copyFile(new File("/sourcefolder/some.zip"), 
    new File("/destination/some.zip")) 
+0

感謝您的回覆。我添加一個新的編輯(編輯2)。臨時文件夾是成功的創建,我沒有任何異常在zip嘗試/ catch(如果我更改字符串與zip路徑例如我們給我一個錯誤),但zip文件不復制到臨時文件夾 – RMRMaster

+0

抱歉,但我我不確定你到底意味着什麼 - 「但是zip文件沒有複製到臨時文件夾」?你能否詳細說明.. – ayush

+0

是的。所以我有一個文件夾在我的電腦與一些文件,我壓縮這個文件夾壓縮格式。 現在,使用此代碼我需要創建一個臨時文件夾(此部分正在工作),我需要將存在於我的計算機中的zip文件夾複製到臨時文件夾。你明白嗎? :) – RMRMaster

相關問題