如何在java中拆分字符串url

use*_*650 -2 java

我想知道如何将字符串url拆分为主机和端口.假设我有

 String http://localhost:1213 
Run Code Online (Sandbox Code Playgroud)

我想拥有host ="localhost"和端口(整数或长整数)= 1213.

我这样做了:

     String[] parts = URL.split(":");
     String HOST = parts[0]; 
     String PORT = parts[1];
Run Code Online (Sandbox Code Playgroud)

但是它给了我:HOST = htp //和PORT = localhost显然因为它分裂到":"任何帮助如何以正确的方式获取它们并且端口长而不是字符串?

Rai*_*baz 8

您可以使用URL类,它还会为您提供验证以确保您的网址正确无误.

它有一个getHostgetPort那个给你正是你需要的方法.

URL u = new URL(VAC_URL);
String host = u.getHost();
int port = u.getPort();
Run Code Online (Sandbox Code Playgroud)

如果URL无效,构造函数将抛出异常.