我正在創建此方法,它以InputStream
爲參數,但readLine()
函數返回null
。在調試時,inputstream不是空的。BufferedReader.readline()返回空值
else if (requestedMessage instanceof BytesMessage) {
BytesMessage bytesMessage = (BytesMessage) requestedMessage;
byte[] sourceBytes = new byte[(int) bytesMessage.getBodyLength()];
bytesMessage.readBytes(sourceBytes);
String strFileContent = new String(sourceBytes);
ByteArrayInputStream byteInputStream = new ByteArrayInputStream(sourceBytes);
InputStream inputStrm = (InputStream) byteInputStream;
processMessage(inputStrm, requestedMessage);
}
public void processMessage(InputStream inputStrm, javax.jms.Message requestedMessage) {
String externalmessage = tradeEntryTrsMessageHandler.convertInputStringToString(inputStrm);
}
public String convertInputStringToString(InputStream inputStream) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(inputStream));
StringBuilder sb = new StringBuilder();
String line;
while ((line = br.readLine()) != null) {
sb.append(line);
}
br.close();
return sb.toString();
}
我們不能真正說出給定的代碼有什麼問題。請使用[minimal,但完整的示例](http://stackoverflow.com/help/mcve)進行編輯,以重現此行爲。 – Radiodef
這取決於你的'inputStream',你沒有共享。更不用說,你可以使用'commons-io'的'IOUtils.toString()'。 – EpicPandaForce
你如何初始化'inputStream'?你確定你正在向'inputStream'傳遞一些有效的東西,以使'readLine()'不返回'null'嗎? – Blip