在Java中使用ZipFile類可以實現對文件的壓縮和解壓縮操作。下面是一個簡單的示例代碼,展示了如何使用ZipFile類來壓縮文件:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
public class ZipFileExample {
public static void main(String[] args) {
String sourceFile = "input.txt";
String zipFile = "output.zip";
zipFile(sourceFile, zipFile);
}
public static void zipFile(String sourceFile, String zipFile) {
try (FileOutputStream fos = new FileOutputStream(zipFile);
ZipOutputStream zos = new ZipOutputStream(fos);
FileInputStream fis = new FileInputStream(sourceFile)) {
ZipEntry zipEntry = new ZipEntry(new File(sourceFile).getName());
zos.putNextEntry(zipEntry);
byte[] buffer = new byte[1024];
int length;
while ((length = fis.read(buffer)) > 0) {
zos.write(buffer, 0, length);
}
zos.closeEntry();
System.out.println("File compressed successfully");
} catch (IOException e) {
e.printStackTrace();
}
}
}
在上面的示例代碼中,首先創建了一個ZipOutputStream對象,該對象用于將數據寫入到壓縮文件中。然后創建一個ZipEntry對象,用于表示要壓縮的文件。接著讀取源文件的數據并寫入到壓縮文件中。最后關閉ZipEntry和ZipOutputStream對象,完成文件的壓縮操作。