Pergunta

URL u = new URL ( "telnet: //route-server.exodus.net");

Esta linha é de geração:

java.net.MalformedURLException: protocolo desconhecido: telnet

E eu encontrar problemas semelhantes com outros URLs que começam com "news: //"

Estes são URLs extraídos de ODP, então eu não entendo por que essas exceções surgem ..

Foi útil?

Solução

Edição

Java lança uma MalformedURLException porque não poderia encontrar um URLStreamHandler para esse protocolo. Verifique a javadocs dos construtores para os detalhes .

Sumário:

Como a classe URL tem um método openConnection, os controlos de classe URL para se certificar de que o Java sabe como abrir uma conexão do protocolo correto. Sem um URLStreamHandler para esse protocolo, Java recusa-se a criar um URL para salvá-lo de falha quando você tenta openConnection chamada.

Solução

Você provavelmente deve estar usando o URI classe se você não planeja abrir uma conexão desses protocolos em Java.

Outras dicas

Parece que há nenhum manipulador registrado para o protocolo "telnet" na sua aplicação. Como a classe URL pode ser usado para abrir um InputStream para URL ele precisa ter um manipulador registrado para o protocolo para fazer este trabalho se você estiver para ser autorizado a criar um objeto de usá-lo.

Para obter detalhes sobre como adicionar manipuladores ver: http://docs.oracle.com/javase/7/docs/api/java/net/URLStreamHandlerFactory.html

Você está recebendo esse erro porque java não tem um padrão protocolo manipulador para telnet.

A resposta simples é que ele só faz reconhecer certos protocolos, e o restante da infinidade de protocolos não é reconhecido.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top