"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > 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 ?

Publié le 2024-12-22
Parcourir:412

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 propose plusieurs options pour cette tâche, beaucoup d'entre elles impliquent des constructions de mise en mémoire tampon et 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 comme entrée et renvoie le contenu de la chaîne correspondante.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3