解析器遇到问题,它不会解析某些内容,但会解析其他内容爪哇

问题描述

在这里所做的解析有问题。通过交换机时,不会存储文档根目录和服务器根目录。其余的都被正确存储了,这就是我感到困惑的原因。 这是用于网络服务器。

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的数组中。 / p>

当我打印出每个键时,我注意到它从监听开始,直到它没有抓住DocumentRoot或ServerRoot为止。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)