1

Java 7 を使用して Eclipse でプロジェクトを開発しています。その中に多くのディレクトリとファイルが含まれているディレクトリを圧縮し、保護されたパスワードを設定します。それらに zip4j ライブラリを使用します。ルートフォルダーではなくディレクトリ内のファイルへのパスワード、つまり、zipファイルをダブルクリックすると、Windows SOのようにパスワードを自動的に書き込むように要求されます。上記のライブラリを使用した私のコードは次のとおりです。

public static void zipFile(String password) throws NoSuchAlgorithmException, ZipException
{   
    // --------Encryption zipParameters (for password protection)-------
    //Create ZipParameters

    ZipParameters zipParameters = new ZipParameters();

    // Set how you want to encrypt files
    zipParameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);
    zipParameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);

    // Set encryption of files to true
    zipParameters.setEncryptFiles(true);

    // Set encryption method
    zipParameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_AES);
    // Set key strength
    zipParameters.setAesKeyStrength(Zip4jConstants.AES_STRENGTH_256);

    // Set password

    zipParameters.setPassword(password);               


    // --------------------CREATE ZIP file - Zip DIRECTORY------------

    //Zip file name        
    String destinationZipFilePath = "C:/temp/FoldertoCompress.zip";

    // Create ZIP file
    ZipFile zipFile = new ZipFile(destinationZipFilePath);

    // Directory to be Zipped
    String directoryToBeZipped = "C:/FoldertoCompress";

    // pass (Directory to be Zipped) and ZIP parameters
    //for Zip file to be created
    zipFile.addFolder(directoryToBeZipped, zipParameters);

    System.out.println("Password protected Zip file of Directory "
           +directoryToBeZipped+" have been created at "+ destinationZipFilePath);          
}
4

0 に答える 0