无法打开已解码的zip文件

时间:2013-08-21 11:44:48

标签: java codec

嗨我有代码将base64 vaule解码为原始版本。

public class Decode {

public static void main(String[] args) throws IOException {

        String base64= "0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAAGgAAAAAAAAAAEAAA/v///wAAAAD+////AAAAABkAAAD///"

        byte[] bytes = Base64.decodeBase64(base64);
        String testFileName = "tmp" +File.separator + "base64.xlsx";
        FileOutputStream fos = new FileOutputStream(new File(testFileName));
        IOUtils.write(bytes, fos);
    }
}

base64变量是zip文件的编码值。我能够将其解码回原始格式但无法打开zip文件。它显示文件无效。我错了。感谢提前。

2 个答案:

答案 0 :(得分:0)

格式Zip不是Base64,如果你想用java代码打开一个zip文件,你可以使用java.util.zip.ZipInputStream

答案 1 :(得分:0)

您的base64字符串不包含ZIP文件的内容。除此之外,你必须在写完文件时关闭FileOutputStream(fis.close()),但除非你从正确的数据开始,否则你不会写一个ZIP文件。