0

こんにちは、base64 値を元の値にデコードするためのコードがあります。

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 ファイルを開くことができません。ファイルが無効であることを示しています。どこが間違っているのでしょうか。事前に感謝します。

4

2 に答える 2

0

base64 文字列に ZIP ファイルのコンテンツが含まれていません。それ以外は、書き込みが終了したら FileOutputStream( fis.close()) を閉じる必要がありますが、正しいデータで開始しない限り、とにかく ZIP ファイルを書き込むことはありません。

于 2013-08-21T11:59:48.453 に答える
0

フォーマット Zip は Base64 ではありません。Java コードで zip ファイルを開きたい場合は、java.util.zip.ZipInputStream を使用できます。

于 2013-08-21T11:48:24.807 に答える