在Java中,可以使用GZIPOutputStream
类来压缩多个文件。以下是一个示例代码,用于压缩多个文件:
import java.io.*; import java.util.zip.GZIPOutputStream; public class GzipMultipleFiles { public static void main(String[] args) { String[] files = {"file1.txt", "file2.txt", "file3.txt"}; try (FileOutputStream fos = new FileOutputStream("compressedFiles.gz"); GZIPOutputStream gzipOS = new GZIPOutputStream(fos)) { for (String file : files) { try (FileInputStream fis = new FileInputStream(file)) { byte[] buffer = new byte[1024]; int len; while ((len = fis.read(buffer)) > 0) { gzipOS.write(buffer, 0, len); } } } } catch (IOException e) { e.printStackTrace(); } } }
在上面的示例中,首先定义了一个包含多个文件名的字符串数组。然后创建一个FileOutputStream
和GZIPOutputStream
对象来将数据写入到压缩文件compressedFiles.gz
中。接着通过循环遍历每个文件,使用FileInputStream
读取文件内容,并将内容写入到GZIPOutputStream
中,实现对多个文件的压缩。最后在异常处理中捕获可能出现的IOException
。