


Comment lire le contenu d'une URL dans une chaîne avec un minimum de code Java ?
Nov 01, 2024 pm 04:02 PMLire le contenu d'une URL vers une chaîne avec un code Java minimal
La lecture du contenu d'une URL dans une chaîne peut être une tâche courante en Java développement. Pour y parvenir, une implémentation équivalente à toURL().getText() de Groovy est souhaitée sans avoir besoin de bibliothèques externes ou de code complexe.
Alternative Apache HttpClient
While Apache HttpClient fournit un ensemble robuste d'utilitaires HTTP, mais il se peut qu'il n'offre pas une implémentation concise sur une ou deux lignes pour la tâche à accomplir.
Approche du scanner
Une approche efficace La solution implique d'utiliser la classe Scanner en combinaison avec la méthode openStream() de l'URL. Le code suivant permet d'obtenir la fonctionnalité souhaitée :
<code class="java">String out = new Scanner(new URL("http://www.google.com").openStream(), "UTF-8").useDelimiter("\A").next();</code>
Le scanner est initialisé avec le flux d'entrée de l'URL et configuré avec un délimiteur pour capturer l'intégralité du contenu. En utilisant une approche sur une seule ligne, le code évite la surcharge des flux et des boucles mis en mémoire tampon.
Implémentation plus complète
Pour une implémentation légèrement plus complète qui gère les exceptions potentielles, envisagez la méthode suivante :
<code class="java">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() : ""; } }</code>
Cette méthode utilise un bloc try-with-resources pour fermer automatiquement les flux Scanner et URL, garantissant ainsi une bonne gestion des ressources. Il inclut également la gestion des erreurs pour détecter les exceptions potentielles.
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!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Top 4 frameworks JavaScript en 2025: React, Angular, Vue, Svelte

Comment fonctionne le mécanisme de chargement de classe de Java, y compris différents chargeurs de classe et leurs modèles de délégation?

Comment utiliser Maven ou Gradle pour la gestion avancée de projet Java, la création d'automatisation et la résolution de dépendance?

Node.js 20: Boosts de performances clés et nouvelles fonctionnalités

Iceberg: L'avenir des tables de Data Lake

Comment puis-je implémenter des techniques de programmation fonctionnelle en Java?

Comment puis-je utiliser JPA (Java Persistance API) pour la cartographie relationnelle des objets avec des fonctionnalités avancées comme la mise en cache et le chargement paresseux?

Spring Boot SnakeyAml 2.0 CVE-2022-1471 Issue fixe
