Dada una cadena, ¿cómo puedo determinar si es una URL absoluta o una URL relativa en Java? Probé el siguiente código:determinar si una cadena es URL absoluta o URL relativa en java
private boolean isAbsoluteURL(String urlString)
{
boolean result = false;
try
{
URL url = new URL(urlString);
String protocol = url.getProtocol();
if (protocol != null && protocol.trim().length() > 0)
result = true;
}
catch (MalformedURLException e)
{
return false;
}
return result;
}
El problema es que todas las URLs relativas están tirando la MalformedURLException ya que no hay protocolo definido (ejemplo: www.google.com y/preguntas/ask).
... por lo que capta la excepción y volver falsa, lo que indica que la dirección URL relativa no es, de hecho, una URL absoluta; cual es el resultado esperado. Entonces, ¿cómo es eso un problema? –
"www.google.com" y "/ questions/ask" no son URL. Pueden ser URI absolutas o relativas, según el esquema de URL implícito. Entonces este código cae dentro de la categoría de "funciona como se espera". – cdhowie
Tenga en cuenta que la URL utiliza su conexión de red – OscarRyz