Моя задача состоит в том, чтобы base64 закодировать заархивированную папку.Я использую Apache Commons-Codec для выполнения этой функции.Но я просто могу отдельно кодировать файлы и помещать их в zip-папку, а не наоборот.Кто-нибудь может направить меня по этому поводу?Настоящим я прилагаю то, что я пробовал;
try
{
ZipOutputStream out = new ZipOutputStream
(new FileOutputStream("G:\\new.zip"));
byte[] data = new byte[1000];
File file = new File("G:\\test1.txt");
BufferedInputStream in = new BufferedInputStream
(new FileInputStream(file));
int count;
out.putNextEntry(new ZipEntry(file.getName()));
while((count = in.read(data,0,1000)) != -1)
{
out.write(data, 0, count);
}
in.close();
out.flush();
out.close();
System.out.println("zipped");
}
catch(Exception e)
{
e.printStackTrace();
}
}
Приведенный выше код помог мне в архивировании файлов в папку и для кодирования этой папки, я добавил этот фрагмент кода, который дает мне много ошибок;
byte encodedBuf[] = new byte[(int) f.length()];
in.read(encodedBuf);
byte enc [] = org.apache.commons.codec.binary.Base64.encodeBase64(encodedBuf);
out.write(enc, 0, enc.length);
}
Моя проблема заключается в части интеграции.Я не уверен, как интегрировать это, чтобы получить зашифрованную zip-папку.