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!