URL u = new URL( "telnet://route-server.exodus.net");
この行は生成しています:
Java.net.MalformedURLException:不明なプロトコル:telnet
また、「news://」で始まる他のURLでも同様の問題が発生します。
これらはODPから抽出されたURLであるため、このような例外が発生する理由がわかりません。
問題
Javaは、そのプロトコルのMalformedURLException
を見つけることができなかったため、URLStreamHandler
をスローします。詳細については、コンストラクタの javadocs を確認してください。
概要:
URL
クラスにはopenConnection
メソッドがあるため、URLクラスはJavaが接続を開く方法を知っていることを確認しますそのプロトコルのURLStreamHandler
がないと、JavaはURL
の作成を拒否し、openConnection
。
ソリューション
Javaでこれらのプロトコルの接続を開く予定がない場合は、おそらく URI
クラスを使用する必要があります。
アプリケーションにプロトコル「telnet」の登録済みハンドラーがないようです。 URLクラスを使用してInputStreamto URLを開くことができるため、それを使用してオブジェクトを作成できるようにするには、プロトコルがこの作業を行うためのハンドラーを登録する必要があります。
ハンドラーの追加方法の詳細については、以下を参照してください。 http://docs.Oracle.com/javase/7/docs/api/Java/net/URLStreamHandlerFactory.html
簡単な答えは、それだけがdoes特定のプロトコルを認識し、プロトコルの無限の残りは認識されないということです。
Javaにはtelnet用の標準 プロトコルハンドラ がないため、このエラーが発生します。