Leer el contenido de una URL en una cadena con Java
Una necesidad común en programación es recuperar el contenido de una URL y almacenarlo como un cadena. En Groovy, esta tarea se simplifica mediante la sintaxis concisa:
String content = "http://www.google.com".toURL().getText();
Sin embargo, encontrar una implementación equivalente en Java puede resultar más desafiante. Si bien Java proporciona múltiples opciones para esta tarea, muchas de ellas implican construcciones complejas de bucle y almacenamiento en búfer.
Enfoque simplificado
Afortunadamente, desde la solicitud inicial de una solución concisa, Java ha introducido un enfoque más sencillo:
String out = new Scanner(new URL("http://www.google.com").openStream(), "UTF-8").useDelimiter("\\A").next();
Esta línea utiliza la clase Scanner para leer la secuencia obtenida de la URL, tratando la secuencia completa como una sola cadena.
Implementación extendida
Si lo desea, puede crear una implementación más completa de la siguiente manera:
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() : ""; } }
Este método toma una URL como entrada y devuelve el contenido de la cadena correspondiente.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3