使用 Java 将 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 获取的流,将整个流视为单个字符串。
扩展实现
如果需要,可以创建更完整的实现,如下所示:
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