2015-04-25 73 views
1

我創建了一個Java程序,它從JFileChooser獲取圖像並創建一個包含選定圖像的.zip文件。我得到的文件,此代碼:用Java創建一個帶有圖像的.zip文件

final JFileChooser fc = new JFileChooser(); 
    fc.setMultiSelectionEnabled(true); 
    fc.setFileFilter(new FileNameExtensionFilter("Image files", "bmp", "png", "jpg")); 
    fc.setAcceptAllFileFilterUsed(false); 
    fc.showOpenDialog(null); 
    File files[] = fc.getSelectedFiles(); 

我如何創建一個包含files[]陣列的文件的.zip文件?

謝謝你的幫助:D。

+0

使用'ZipOutputStream'。 – Sybren

回答

0
File someFile = new File("someFile.zip"); 
File files[] = fc.getSelectedFiles(); 
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(someFile)); 

// Create the ZIP file first 
try (ZipOutputStream out = new ZipOutputStream(bos)) { 
    // Write files/copy to archive 
    for (File file : files) { 
     // Put a new ZIP entry to output stream for every file 
     out.putNextEntry(new ZipEntry(file.getName())); 
     Files.copy(file.toPath(), out); 
     out.closeEntry(); 
    } 
} 
+0

它正在工作,但創建的文件沒有.zip擴展 – Jvsierra

+0

該文件被稱爲任何您命名它。只需將其命名爲'someFile.zip'。 – Veluria

+0

現在全力工作,非常感謝 – Jvsierra