java - 如何重写空的while block

标签 java while-loop pmd

我已经实例化了一个 BufferedReader 来读取输入流。它有一个 boolean ready() 方法,该方法返回 false,直到阅读器可以读取为止。现在我有了

BufferedReader br = new BufferedReader(new InputStreamReader(myProcess.getInputStream()));
try {
  while (!br.ready()) {
  }
  String line = br.readLine();
  ...
} catch (IOException e) {
...

PMD 警告我的是空的 while block ,我猜 PMD 是对的。我该如何重写代码?

最佳答案

不想使用ready()readLine() 是一个阻塞调用,只需调用它即可。

BufferedReader的标准用法是:

String line = null;
while((line = br.readLine) != null) {
  // do stuff with line here ...
}

关于java - 如何重写空的while block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16302578/

相关文章:

java - 容易 for 循环不起作用

Javascript,while 循环返回

java - 虽然没有条件

ant - 使用 Jenkins、Perforce 和 Ant,我如何才能仅对自上次绿色构建以来已更改的文件运行 PMD?

java - PMD 和 FindBugs 冲突

java - PMD 插件因 Java 14 : Unsupported targetJdk 而失败

java - 在 Tomcat 8 上部署 Web 服务时遇到问题

java - 在方法中传递 int 数组作为参数 [Java]

java - 如何将 JTextField 中的值存储到局部变量?

java - 我可以使用 JSONArray 而不是创建数据模型吗?