"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo leer contenido URL en una cadena con Java?

¿Cómo leer contenido URL en una cadena con Java?

Publicado el 2024-12-22
Navegar:444

How to Read URL Content into a String with Java?

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.

Último tutorial Más>

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