使用ZipEntry修复Java错误

时间:2015-05-15 15:09:29

标签: java zip

我想在java中创建一个压缩的函数 将文件转换为.zip文件,之前使用JFileChooser。 而现在ZipEntry无法与“C:......”的绝对路径相处, 我知道,它需要\\而不仅仅是\,但是我 不知道怎么做。

任何人都可以帮助我吗?

顺便说一句。这是代码:

public static void zip(String inputFile, String zipFile){
    try{
        FileOutputStream fos = new FileOutputStream(zipFile);
        ZipOutputStream zos = new ZipOutputStream(fos);
        add(zos, inputFile);
        zos.close();
        fos.close();
    }catch(Exception ex){
        ex.printStackTrace();
    }
}
public static void add(ZipOutputStream zos, String fileName) throws Exception{
    File newFile = new File(fileName);
    if(newFile.exists()){
    FileInputStream fis = new FileInputStream(newFile);
    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();
}}

1 个答案:

答案 0 :(得分:0)

如果您只想将文件添加到zip存档中,那么您最好使用自Java 7 +以来可用的zip文件系统提供程序:

storagevalue

现在,目前还不清楚你想要的最终zip条目的路径是什么,所以......