使用null check java从套接字读取http请求

使用null check java从套接字读取http请求,java,inputstream,findbugs,Java,Inputstream,Findbugs,我正在从套接字输入流读取HTTP请求 StringBuilder request = new StringBuilder(); String inputLine; while (!(inputLine = in.readLine()).equals("")) { request.append(inputLine + "\r\n"); } 它正在工作,但是findbugs给出了以下错误:在不使用null检查的情况下取消对readLine()结果的引用。请求以“而不是eof结束。那么我如何

我正在从套接字输入流读取HTTP请求

StringBuilder request = new StringBuilder();
String inputLine;
while (!(inputLine = in.readLine()).equals("")) {
    request.append(inputLine + "\r\n");
}
它正在工作,但是
findbugs
给出了以下错误:
在不使用null检查的情况下取消对readLine()结果的引用。请求以
而不是
eof
结束。那么我如何在这里检查空值呢?

像这样:

 while ((inputLine = in.readLine()) != null) {
但我假设您不需要空白字符串,请使用apache commons:

while(StringUtils.isNotBlank(inputLine = in.readLine())) {
编辑:

钠的评论也是+1。然而,我认为:

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

有点不可读。

根据经验,您应该像
(“”)那样使用equals检查。equals(in.readLine())
这是因为您知道(“”)永远不会为null,因此没有null指针异常的机会。