【问题标题】:Base64 Exception in JavaJava中的Base64异常
【发布时间】:2013-01-26 05:43:03
【问题描述】:

在 java 中执行以下操作时,我在 0: 37(十进制)异常处收到 Bad Base64 输入字符。

static void byteArrayToFile(byte[] bArray) {  
        try {  
            // Create file  
            String pathName = AppConfig.getInstance().getConfigValue("webapp.root") + File.separator + "temp"+File.separator+"heasas.pdf";
            FileWriter fstream = new FileWriter(pathName);  
            BufferedWriter out = new BufferedWriter(fstream);  
            for (Byte b: bArray) {  
                out.write(b);  
            }  
            out.close();  
        } catch (Exception e) {  
            System.err.println("Error: " + e.getMessage());  
        }  

大家好,在收到来自第 3 方的 Soap 消息时,我编写了闲散的 sn-p 代码以获取 附件内容: 对象内容 = attachment1.getContent(); writePdf(内容);

private void writePdf(Object content) throws IOException, PrintException, DocumentException {
        String str = content.toString();
        byte[] b = Base64.decode(str);
        byteArrayToFile(b);

}

这是我将字节数组转换为 pdf 的逻辑:

static void byteArrayToFile(byte[] bArray) {  
    try {  
        // Create file  
        String pathName = AppConfig.getInstance().getConfigValue("webapp.root") + File.separator + "temp"+File.separator+"heasas.pdf";
        FileWriter fstream = new FileWriter(pathName);  
        BufferedWriter out = new BufferedWriter(fstream);  
        for (Byte b: bArray) {  
            out.write(b);  
        }  
        out.close();  
    } catch (Exception e) {  
        System.err.println("Error: " + e.getMessage());  
    }  
}

现在有人可以建议我解决方案吗......

【问题讨论】:

  • 你能粘贴确切的异常堆栈跟踪吗? e.printStacktrace() 应该在您的 catch 块中发挥作用。
  • 具体是哪一行导致了错误?我怀疑它是out.write(b);,这意味着问题出在for (Byte b: bArray) 中,它将您收到的byte[] bArray 写入函数。因此,您需要查看函数调用中传递给bArray 的内容。我们无法看到该值,因为您没有提供它。你应该学会使用调试器(或者至少是堆栈跟踪)来跟踪这样的错误。

标签: java soap pdf-generation


【解决方案1】:

来自FileWriter javadoc

FileWriter 用于写入字符流。要写入原始字节流,请考虑使用 FileOutputStream。

【讨论】:

    猜你喜欢
    • 2012-08-13
    • 1970-01-01
    • 1970-01-01
    • 2016-01-08
    • 2021-04-07
    • 2014-04-19
    • 1970-01-01
    • 2012-05-18
    • 1970-01-01
    相关资源
    最近更新 更多