不使用EOF停止在java中读取输入

时间:2017-08-23 06:57:44

标签: java input file-io bufferedreader

this问题中,我如何停止阅读输入?我的程序一直在运行,需要更多的输入。

public static void main(String[] args) throws Exception {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    String src;

    while ((src = br.readLine()) != null) {
        String trgt = br.readLine();
       //do something
        }
    }

4 个答案:

答案 0 :(得分:1)

像这样,

public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String src;

while ((src = br.readLine()) != null) {
    StringTokenizer st=new StringTokenizer(src);
    if(!st.hasMoreTokens()) break;
    //YOUR LOGIC GOES HERE 
    }
}

答案 1 :(得分:0)

查找例如END的特殊字符串。当trgt等于“END”时,您可以打破循环。

答案 2 :(得分:0)

正如@ihsan kocak所说,你可以找到像EXIT或QUIT这样的字符串。当你发现字符串只是打破了循环。

答案 3 :(得分:0)

将特定单词设置为读取断路器。例如stop。如果用户提供输入stop,则读取过程将结束。以下是此过程的实现示例:

    public static void main(String[] args) throws Exception {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    String src;

    while ((src = br.readLine()) != null && !(src.equals("stop"))) {
        String trgt = src;
       //do something
    }
}