Java是一種面向對象的編程語言,可以用來編寫各種類型的程序,包括壓縮和解壓文件。Java提供了一組API來實現這些功能。
Java解壓文件是通過定義一個ZipInputStream
,并使用getNextEntry()
方法來讀取Zip文件中的每個條目。然后使用FileOutputStream
來把每個條目寫入到磁盤上。
try (ZipInputStream zipIn = new ZipInputStream(new FileInputStream(zipFile))) { ZipEntry entry = zipIn.getNextEntry(); while (entry != null) { String filePath = destDir + File.separator + entry.getName(); if (!entry.isDirectory()) { extractFile(zipIn, filePath); } else { File dir = new File(filePath); dir.mkdir(); } zipIn.closeEntry(); entry = zipIn.getNextEntry(); } } catch (IOException e) { e.printStackTrace(); }
Java壓縮文件是通過定義一個ZipOutputStream
,并使用putNextEntry()
方法來插入文件并添加每個條目。其次,使用FileInputStream
來將要添加到Zip文件中的每個文件添加到輸出流中。
try (ZipOutputStream zipOut = new ZipOutputStream(new FileOutputStream(zipFile))) { for (String sourceFile : sourceFiles) { File fileToZip = new File(sourceFile); FileInputStream fis = new FileInputStream(fileToZip); ZipEntry zipEntry = new ZipEntry(fileToZip.getName()); zipOut.putNextEntry(zipEntry); byte[] bytes = new byte[1024]; int length; while ((length = fis.read(bytes)) >= 0) { zipOut.write(bytes, 0, length); } fis.close(); } zipOut.close(); } catch (IOException e) { e.printStackTrace(); }
Java提供了壓縮和解壓縮文件的功能,可以方便地讀取和寫入Zip文件,以便更好地管理文件和文件夾的組織。