0

new_file_name 类似于2013-03-15-08:59:10_65.zip

 fileZip = new ZipOutputStream(new FileOutputStream(new File(new_file_name)));
    byte[] buffer = new byte[1024];
    try{
        for(String fileName:fileList)
        {
            FileInputStream in = null;
            try{
                File file = new File(fileName);
                ZipEntry ze = new ZipEntry(fileName);
                fileZip.putNextEntry(ze);
                in = new FileInputStream(file);
                int len = 0;
                while((len = in.read(buffer)) > 0) {
                    fileZip.write(buffer, 0, len);
                }
                fileZip.closeEntry();
                in.close();
            } catch (Exception e) {
                log(0, "Exception writing "+fileName+" to "+new_file_name+": "+e.toString());
        }

我得到了这个例外Exception writing to 2013-03-15-09:28:20_65.zip: java.io.FileNotFoundException: (No such file or directory)

该目录具有完全权限。我也看到在文件夹中创建了一个文件,我也尝试给出 getAbsolutePath(),仍然给了我同样的异常。

4

2 回答 2

1

我编写了一些实用程序方法来使用 NIO.2 File API(该库是开源的)将目录复制到 Zip 文件中/从 Zip 文件中复制目录:

马文:

<dependency>  
    <groupId>org.softsmithy.lib</groupId>  
    <artifactId>softsmithy-lib-core</artifactId>  
    <version>0.3</version>  
</dependency>  

教程:

http://softsmithy.sourceforge.net/lib/current/docs/tutorial/nio-file/index.html#AddZipResourceSample

API:CopyFileVisitor.copy

也许你觉得它很有用。

于 2013-03-15T13:45:53.580 回答
0

我认为你不允许在文件名中使用':',如果你使用“2013-03-15-08_59_10_65.zip”应该没问题。

好的...当fileList 中的文件不存在时,我以某种方式设法找到了相同的错误!

于 2013-03-15T13:44:44.133 回答