Maison  >  Article  >  Java  >  Comment lire le contenu d'une URL dans une chaîne avec Java ?

Comment lire le contenu d'une URL dans une chaîne avec Java ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-01 14:44:29612parcourir

How to Read URL Content into a String with Java?

Lecture du contenu d'une URL dans une chaîne avec Java

Un besoin courant en programmation est de récupérer le contenu d'une URL et de le stocker sous forme de chaîne. Dans Groovy, cette tâche est simplifiée par la syntaxe concise :

String content = "http://www.google.com".toURL().getText();

Cependant, trouver une implémentation équivalente en Java peut s'avérer plus difficile. Bien que Java offre plusieurs options pour cette tâche, beaucoup d'entre elles impliquent une mise en mémoire tampon et des constructions de boucles complexes.

Approche simplifiée

Heureusement, depuis la demande initiale d'une solution concise, Java a introduit une approche plus simple :

String out = new Scanner(new URL("http://www.google.com").openStream(), "UTF-8").useDelimiter("\A").next();

Cette ligne utilise la classe Scanner pour lire le flux obtenu à partir de l'URL, en traitant l'intégralité du flux comme une seule chaîne.

Implémentation étendue

Si vous le souhaitez, une implémentation plus complète peut être créée comme suit :

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() : "";
    }
}

Cette méthode prend une URL en entrée et renvoie le contenu de la chaîne correspondante.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn