2013-08-21 60 views
0

嗨,我有解碼base64價值的代碼,以其原始。無法打開解壓縮的zip文件

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變量編碼值拉鍊file.I的我能夠將其解碼回其原單的格式,但無法打開壓縮file.It顯示文件invalid.Where我錯了?提前致謝。

回答

0

格式Zip是不是Base64的,如果你想打開使用Java代碼zip文件,你可以使用java.util.zip.ZipInputStream中

+0

我不想讀它到一個Java程序。我只需要驗證我是否能夠在編碼之前得到確切的文件。 – user2364825

0

您的Base64字符串不包含一個ZIP文件的內容。除此之外,當您寫完文件時,您必須關閉FileOutputStream(fis.close()),但除非您以正確的數據開頭,否則無論如何您都不會寫ZIP文件。

+0

其實base64字符串太大,超過了這裏的大小限制,所以只是舉個例子。試試fis.close() – user2364825

+0

它似乎不工作fos.close()。但我能夠打開一個zip文件沒有編碼。是否有一個特定的zip文件的方法?我不應該使用FileOutputStream? – user2364825