Java を使用した URL コンテンツの文字列への読み取り
プログラミングにおける一般的なニーズは、URL のコンテンツを取得し、それらを URL として保存することです。弦。 Groovy では、このタスクは次のような簡潔な構文によって簡略化されます。
String content = "http://www.google.com".toURL().getText();
ただし、 Java で同等の実装を行うと、より困難になる可能性があります。 Java にはこのタスク用に複数のオプションが用意されていますが、その多くには複雑なバッファリングやループ構造が含まれています。
単純化されたアプローチ
幸いなことに、簡潔なソリューションを求める最初の要求以来、 Java では、より単純なアプローチが導入されています。
String out = new Scanner(new URL("http://www.google.com").openStream(), "UTF-8").useDelimiter("\\A").next();
この行では、Scanner クラスを利用して URL から取得したストリームを読み取り、ストリーム全体を 1 つの文字列として扱います。
拡張実装
必要に応じて、より完全な実装を次のように作成できます。
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() : ""; } }
このメソッドは URL を入力として受け取り、対応する文字列コンテンツを返します。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3