HOWTO · Java

java.net.MalformedURLException: Java にプロトコル エラーがありません

この短い記事では、エラー java.net.MalformedURLException: no protocol in Java と、エラーを修正する方法について説明します。

Java のエラー java.net.MalformedURLException: no protocol を調べます。 エラーが発生する理由と、エラーを解決する方法。

java.net.MalformedURLException: no protocol Java のエラー

この java.net.MalformedURLException: no protocol は、URL に問題がある場合に発生します。 これはクライアント サーバー プログラミングです。 リクエストを送信すると、レスポンスが返されます。

リクエストは、クライアントとサーバー間の接続を確立するために使用する URL になります。 使用されている URL が正しく機能していないか、文字列で正しく使用されていない場合、java.net.MalformedURLException: no protocolエラーが発生します。

java.net.MalformedURLException: no protocol エラーを修正する

プログラマーは、このクライアント サーバー関係を実装する方法を理解していないことがあります。 したがって、このエラーが表示されます。

このエラーは 2つの場合にのみ発生します。 最初のケースは、ユーザーが文字列を宣言して解析するために直接使用する場合であり、2 番目のケースは、使用された URL が正しくない場合です。

2 番目のケースでは、正しくない URL は修正することで簡単に解決できます。 最初のケースでは、文字列テキストのソースを使用して URL として使用するか、StringReader のようなメソッドを使用する必要があります。

StringReader のみを使用して、接続を適切に実装および確立します。 StringReader は、文字列をそのまま読み取る Reader です。

java.net.MalformedURLException: no protocol エラーを返すコード例を見てみましょう。

コード:

DocumentBuilderFactory DbuilderFac = DocumentBuilderFactory.newInstance();
DocumentBuilder Dbuilder = DbuilderFac.newDocumentBuilder();
String xml =
    "/paste your XML here" Dbuilder.parse(xml); // we can's pass a direct XML string in it, because
                                                // this particular function takes URL as input

上記のように、StringReader() を使用してエラーを修正する必要があります。 次のコードを見てください。

コード:

DocumentBuilderFactory DbuilderFac = DocumentBuilderFactory.newInstance();
DocumentBuilder Dbuilder = DbuilderFac.newDocumentBuilder();
String xml = "/paste your XML here" Dbuilder.parse(
    new InputSource(new StringReader(xml))); // StringReader() is being used here

InputSourceStringReader を使用して java.net.MalformedURLException: no protocol エラーを解決するだけです。