从 ZipOutputStream 创建文件

我正在使用下面的代码来创建一个 Zip 文件。我想在 createZipFromFiles 方法中将创建的 Zip 作为 File 对象返回,以便在其他地方使用。这可以从 FileOutputStream 或 ZipOutputStream 完成吗?


public File createZipFromFiles(String zipName, List<File> files) {

    try {

        FileOutputStream fos = new FileOutputStream(zipName);

        ZipOutputStream zos = new ZipOutputStream(fos);

        for (File file : files) {

            addToZipFile(file.getName(), zos);

        }

        return null;

    } catch (IOException e) {

        // TODO Auto-generated catch block

        e.printStackTrace();

    }

    return null;

}


public static void addToZipFile(String fileName, ZipOutputStream zos) throws FileNotFoundException, IOException {


    System.out.println("Writing '" + fileName + "' to zip file");


    File file = new File(fileName);

    FileInputStream fis = new FileInputStream(file);

    ZipEntry zipEntry = new ZipEntry(fileName);

    zos.putNextEntry(zipEntry);


    byte[] bytes = new byte[1024];

    int length;

    while ((length = fis.read(bytes)) >= 0) {

        zos.write(bytes, 0, length);

    }


    zos.closeEntry();

    fis.close();

}


四季花海
浏览 304回答 1
1回答

侃侃无极

刚回来new&nbsp;File(zipName);因为您已经有了 zip 文件名
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java