最小限の Java コードで URL から文字列にコンテンツを読み取る
URL のコンテンツを文字列に読み取るのは、Java の一般的なタスクです。発達。これを実現するには、外部ライブラリや複雑なコードを必要とせずに、Groovy の toURL().getText() と同等の実装が必要です。
Apache HttpClient Alternative
Apache HttpClient は、堅牢な HTTP ユーティリティのセットを提供しますが、当面のタスクに対して 1 行または 2 行の簡潔な実装を提供しない場合があります。
スキャナ アプローチ
解決策には、Scanner クラスを URL の openStream() メソッドと組み合わせて利用することが含まれます。次のコードは、目的の機能を実現します。
<code class="java">String out = new Scanner(new URL("http://www.google.com").openStream(), "UTF-8").useDelimiter("\A").next();</code>
スキャナは URL の入力ストリームで初期化され、コンテンツ全体をキャプチャするための区切り文字を使用して構成されます。 1 行のアプローチを使用することで、コードはバッファリングされたストリームとループのオーバーヘッドを回避します。
完全な実装
潜在的な例外を処理するもう少し包括的な実装については、次のようになります。次のメソッドを検討してください:
<code class="java">public static String readStringFromURL(String requestURL) throws IOException { try (Scanner scanner = new Scanner(new URL(requestURL).openStream(), StandardCharsets.UTF_8.toString())) { scanner.useDelimiter("\A"); return scanner.hasNext() ? scanner.next() : ""; } }</code>
このメソッドは、try-with-resources ブロックを使用してスキャナーと URL ストリームを自動的に閉じ、適切なリソース管理を保証します。また、潜在的な例外を捕捉するためのエラー処理も含まれています。
以上が最小限の Java コードで URL のコンテンツを文字列に読み取る方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。