使用null check java从socket读取http请求

时间:2015-05-16 14:33:39

标签: java inputstream findbugs

我正在从套接字输入流

中读取HTTP请求
StringBuilder request = new StringBuilder();
String inputLine;
while (!(inputLine = in.readLine()).equals("")) {
    request.append(inputLine + "\r\n");
}

它正常工作但findbugs给出了以下错误:Dereference of the result of readLine() without nullcheck。请求以""而不是eof结尾。那么如何在这里检查空值呢?

1 个答案:

答案 0 :(得分:4)

就像那样:

 while ((inputLine = in.readLine()) != null) {

但我认为你不想要一个空字符串,请使用apache commons:

while(StringUtils.isNotBlank(inputLine = in.readLine())) {

编辑:

对于钠的评论也是+1。但是在我看来这个:

("").equals(in.readLine()) 

有点难以辨认。