Donc, j'exécute le code ci-dessous et il imprime "! DOCTYPE HTML". Comment puis-je obtenir le contenu de l'URL, comme le HTML par exemple? Selon Java Doc https://docs.oracle.com/javase/tatutorial/networking/urls/readingurl.html :" Lorsque vous exécutez le programme, vous devriez Voir, faire défiler dans votre fenêtre de commande, les commandes HTML et le contenu textuel du fichier HTML situé à "... pourquoi je ne comprends pas ça? p> p>
3 Réponses :
Vous ne lisez que une ligne du texte.
Essayez ceci et vous verrez que vous obtenez deux lignes: essayez de le lire dans une boucle pour obtenir tout le texte. P> p>
dans votre programme, URL u = new URL("https://www.whitehouse.gov/");
InputStream ins = u.openStream();
InputStreamReader isr = new InputStreamReader(ins);
BufferedReader websiteText = new BufferedReader(isr);
String inputLine;
while ((inputLine = websiteText.readLine()) != null){
System.out.println(inputLine);
}
websiteText.close();
bufferedreader a une méthode appelée #lines () depuis Java 8. Le type de retour de #lines () est flux. Pour lire un site entier, vous pouvez faire quelque chose comme ça:
String htmlText = websiteText.lines() .reduce("", (text, nextLine) -> text + "\n" + nextLine) .orElse(null);
Le code que vous avez posté n'est pas le même que le code du tutoriel que vous avez cité, il n'y a donc aucune raison pour laquelle il ne devrait pas se comporter de même.