如何中断java.util.Scanner nextLine调用

如何中断java.util.Scanner nextLine调用,第1张

如何中断java.util.Scanner nextLine调用

该文章描述了一种避免读取时阻塞。它提供了代码片段,您可以按我在注释中指出的进行修改。

import java.io.*;import java.util.concurrent.Callable;public class ConsoleInputReadTask implements Callable<String> {  public String call() throws IOException {    BufferedReader br = new BufferedReader(        new InputStreamReader(System.in));    System.out.println("ConsoleInputReadTask run() called.");    String input;    do {      System.out.println("Please type something: ");      try {        // wait until we have data to complete a readLine()        while (!br.ready()  ) {          Thread.sleep(200);        }        input = br.readLine();      } catch (InterruptedException e) {        System.out.println("ConsoleInputReadTask() cancelled");        return null;      }    } while ("".equals(input));    System.out.println("Thank You for providing input!");    return input;  }}

您可以直接使用此代码,也可以编写一个新的可关闭的InputStream类,以结束本文介绍的逻辑。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5163971.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-18
下一篇 2022-11-18

发表评论

登录后才能评论

评论列表(0条)

保存