public static String getString(HttpServletRequest request) {
//返回报文字符串
String resultXml = null;
if (request != null) {
// 读取请求内容 缓冲字符输入流 BufferedReader。
BufferedReader br = null;
//该系统下换行符 此种写法屏蔽了 Windows和Linux的区别 ,更保险一些.
String lineStr = System.getProperty("line.separator");
try {
br = new BufferedReader(new InputStreamReader(request.getInputStream()));
String line;
StringBuilder sb = new StringBuilder();
//以行方式获取,并添加换行符,以解决数字签名验签问题
while ((line = br.readLine()) != null) {
sb.append(line + lineStr);
}
if (sb != null) {
resultXml = sb.toString();
}
} catch (IOException e) {
logger.info("流读取异常:" + e.getMessage());
} finally {
try {
if (br != null) {
br.close();
}
} catch (IOException e) {
logger.info("流关闭异常:" + e.getMessage());
}
}
}
return resultXml;
}
public String readLine() throws IOException
1、读取一个文本行
2、下列字符之一即可认为某行已终止:换行 (’\n’)、回车 (’\r’) 或回车后直接跟着换行。
3、若已达流末尾,返null