我试图找到与Groovy等效的Java:
String content = "http://www.google.com".toURL().getText();
我想将URL中的内容读取为字符串。我不想用如此简单的任务用缓冲的流和循环来污染我的代码。我查看了apache的HttpClient,但也没有看到一两行的实现。
自从最初的答案被接受以来,已经过去了一段时间,有一种更好的方法:
String out = new Scanner(new URL("http://www.google.com").openStream(), "UTF-8").useDelimiter("\\A").next();
如果你想要一个更完整的实现(不是一行),请执行以下操作:
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() : ""; } }