0

Zip4j ライブラリを使用して一連のファイルを圧縮しようとしています。圧縮するファイルのファイル パスのリストを渡し、それらを 1 つずつ zip ファイルに追加します。何らかの理由で、最後のファイルが追加されません。ループのインデックスを確認しましたが、正しいと確信しています。例外やエラー メッセージが表示されません。これが私のコードです:

    // get the path; paths refers to the list of files to compress
    String uuidString = UUID.randomUUID().toString();
    String path = "H:/public/ZipFiles/" + uuidString + ".zip";

    try {
        // create the new zip file
        ZipFile zipFile = new ZipFile(path);
        File fileToAdd;
        String message = "";

        ZipParameters parameters = new ZipParameters();
        // set compression method to store compression
        parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);

        // Set the compression level
        parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);

        // add each file to the zipFile
        for(int i = 0; i < paths.size(); i++)
        {
            fileToAdd = new File(paths.get(i));

            if(fileToAdd.exists())
            {
                System.out.println("writing file at " + paths.get(i) + " to the zip file");
                zipFile.addFile(fileToAdd, parameters);
            }
            else
            {
                message += "File with at path " + paths.get(i) + " was not found.\n";
            }
        }

    } catch (ZipException e) {
        e.printStackTrace();
    }

すべてのファイル パスは、追加時に出力されます。何か案は?

4

2 に答える 2

0

あなたは閉じていませんZipFile.

于 2013-10-05T01:11:18.807 に答える