Java分割输入

时间:2012-01-30 22:16:01

标签: java text-processing

我正在尝试阅读命令和名称。例如“name:”+“username”,我想将用户名添加到arraylist。我正在尝试拆分输入,以便我有一个名称变量和一个用户名变量,如下所示:

public void run() {
    String line;
    try {
        while(true) {
            line = input.readLine();
            String[] temp;
            temp = line.split(":");

            //checks different input from the client
            //checks to see if the client wants to terminate their connection
            //removes the client's name from the list

            if("name:".equals(temp[0])) {
                users.add(temp[1]);
                output.println("OK");
            }
            else {
                broadcast(name,line); // method in outer class - send messages to all
            }
        } // end of while
    } catch(Exception e) {
        System.out.println(e.getMessage());
    }
} // end of run()

1 个答案:

答案 0 :(得分:4)

split吞下分隔符,因此您需要更改此内容:

            if("name:".equals(temp[0])){

到此:

            if("name".equals(temp[0])){

另外,这个:

                bc(name,line); // method  of outer class - send messages to all

似乎有点奇怪,因为它引用了一个名为name的变量,但是您发布的代码段中没有任何内容声明该变量,或者(除此行外)引用它。