这是解析ftp url方案的好方法吗?

And*_*ter 1 java url parsing

我写了一个小的java工具,一开始我必须解析一个url.我想知道,你在考虑我的解决方案以及是否有更好的方法?这里有些例子:

AAA://用户名:密码@服务器:端口/ DIR /

AAA://服务器:端口/ DIR /

AAA://服务器:端口

如果用户不小心,每种字符串都是可能的.所以有可能,我的函数得到这样一个字符串

AAA://用户名:通

太.但字符串总是启动女巫aaa://.

这是我的代码:

url = url.replaceFirst("aaa://","");

String params[] = url.split("@");
if(params[0].compareTo("") != 0) {
    String paramsfst[] = params[0].split(":");
    if(params.length == 1) {
        if(paramsfst.length >= 1) {
            this.server = parsePort(paramsfst[0]);
            if(paramsfst.length == 2) {
                this.port = parsePort(paramsfst[1]);
            }
        }               
    } else {
        String paramssec[] = params[1].split(":");
        if(paramssec.length >= 1) {
            this.server = parsePort(paramssec[0]);
            if(paramssec.length == 2) {
                this.port = parsePort(paramssec[1]);
            }
        }
        if(paramsfst.length == 2) {
            this.username = paramsfst[0];
            this.password = paramsfst[1];   
        }
    }
    if(url.contains("/")) {
        this.path = url.substring(url.indexOf("/"), url.length() -1);   
    }

private String parsePort(String port) {
    int i = port.indexOf("/");
    if(i == -1) {
        return port;
    }
    return port.substring(0, i);
}
Run Code Online (Sandbox Code Playgroud)

你怎么看?

pha*_*t0m 5

你看过URL类了吗?

请看这里的例子.