Base64在java中对压缩文件夹进行编码
我的任务是对压缩文件夹进行base64编码。我使用Apache的Commons编解码器来实现这个功能。但我只是能够分别对文件进行编码并将其放入zip文件夹,而不是反过来。有人能给我指点迷津吗?我在此附上我已经尝试过的东西Base64在java中对压缩文件夹进行编码,java,encoding,zip,base64,Java,Encoding,Zip,Base64,我的任务是对压缩文件夹进行base64编码。我使用Apache的Commons编解码器来实现这个功能。但我只是能够分别对文件进行编码并将其放入zip文件夹,而不是反过来。有人能给我指点迷津吗?我在此附上我已经尝试过的东西 try { ZipOutputStream out = new ZipOutputStream (new Fi
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);
}
我的问题在于集成部分。我不确定如何集成此文件以获得编码的压缩文件夹。如果您想将文件放入压缩文件夹,然后进行编码,请尝试这样做,而不是反过来。@madth3:但这正是我遇到的问题。我也尝试过这样做,但我没有得到我想要的。然后编辑你的问题并发布你的尝试和发现的问题。错误在哪里?第二部分不完整,什么是
f
?在
中是如何定义的?请将其视为两项任务1。压缩一个文件夹,这将导致一个文件。2.然后您要对文件进行编码。就这样。