解析器有问题,它赢了';不要解析某些东西,但会为其他人解析。JAVA

解析器有问题,它赢了';不要解析某些东西,但会为其他人解析。JAVA,java,webserver,Java,Webserver,我在这里做的解析有问题。当它通过开关时,文档根目录和服务器根目录不会被存储。剩下的部分被妥善保存,这就是我感到困惑的原因。 这是针对Web服务器的 void parseLine(String line) throws IOException { String[] key; line = nextLine(); while(line != null) { if(line.isEmpty()){ line = nextLine();

我在这里做的解析有问题。当它通过开关时,文档根目录和服务器根目录不会被存储。剩下的部分被妥善保存,这就是我感到困惑的原因。 这是针对Web服务器的

void parseLine(String line) throws IOException {
    String[] key;

    line = nextLine();
    while(line != null) {

        if(line.isEmpty()){
            line = nextLine();
        }
        key = line.split("\\s+");
        switch (key[0]){

            case "DocumentRoot":
                documentRoot = key[1];
                break;
            case "ServerRoot":
                serverRoot = key[1];
                break;
            case "Listen" :
                listen = Integer.parseInt(key[1]);
                break;
            case "LogFile":
                logFile = key[1];
                break;
            case "AccessFileName":
                accessFileName = key[1];
                break;
            case "DirectoryIndex":
                dirIndex = key[1];
            case "Alias":
                alias.put(key[1], key[2]);
                break;
            case "ScriptAlias":
                scriptAlias.put(key[1], key[2]);
                break;
            default: break;
        }
        line = nextLine();
    }
}
这就是我想要得到的信息

 ServerRoot "/Users/Taeyeona/Desktop/web-server-cameron-michael/.github/src"
 DocumentRoot "/Users/Taeyeona/Desktop/web-server-cameron-michael/.github/src/public_html"
 Listen 8096
 LogFile "/Users/Taeyeona/Desktop/web-server-cameron-michael/.github/src/logs/log.txt"
 ScriptAlias /cgi-bin/ "/Users/Taeyeona/Desktop/web-server-cameron michael/.github/src/public_html/cgi-bin"
 Alias /ab/ "/Users/Taeyeona/Desktop/web-server-cameron-michael/.github/src/public_html/ab1/ab2"
 Alias /~traciely/ "/Users/Taeyeona/Desktop/web-server-cameron-michael/.github/src/public_html"
因此,我检查这个案例,看看它是DocumentRoot、ServerRoot、Listen、LogFile、AccessFileName、DirectoryIndex、Alias还是ScriptAlias,然后我想获取后面的信息并将其存储到名为key的数组中

我注意到,当我打印出每一个键时,我注意到它都是从listen开始的,在它没有抓取DocumentRoot或ServerRoot之后。

String line;当((line=scanner.nextLine())!=null){…}尝试此操作时,它工作并且正在解析,不确定为什么您说它没有赋值