我的问题是我需要解码base64流,和以防出现问题,我需要访问该base64流到例如将其写入磁盘以进行进一步分析。
所以,第一部分是直截了当的。用番石榴我可以做到
final InputStream dataBase64Stream = httpPost.getResponseBodyAsStream();
final InputStream binaryStream =
BaseEncoding.base64().decodingStream(new InputStreamReader(dataBase64Stream));
其中httpPost
来自我获取base64数据的地方(我在这里使用commons-httpclient的PostMethod)。
现在我将binaryStream
传递到其他地方并在那里读到它
如果binaryStream
出现问题,我的问题就出现了
就我而言,它有时不包含base64,而是包含错误消息的XML。
所以,我的问题是:
如果从(内部)binaryStream
读取异常,我如何访问内部dataBase64Stream
以查看正在发生的事情?
binaryStream
,如果需要,可以dataBase64Stream
查看?请注意,如果发生错误,我只能访问dataBase64Stream
的提醒 ..无需快退回来。
到目前为止,我考虑了以下内容:
dataBase64Stream
的内容存储为临时文件dataBase64Stream
。我认为两者都有效,但我很乐意了解这种情况是否有最佳做法。