Avatar ·

Comment lire un InputStream en String en Java ?

Bonjour à tous ! Je viens de commencer à apprendre Java et je suis confronté à un problème qui me semble très complexe. Je dois lire des données depuis un InputStream (par exemple, depuis un fichier ou une réponse de requête HTTP) et les convertir en une simple chaîne String. Le problème est que InputStream travaille avec des bytes, alors que j'ai besoin de texte.\n\nVoici un exemple de mon code qui ne fonctionne pas :\n\n```java\nInputStream inputStream = new FileInputStream("file.txt");\nString content = inputStream.read(); // Évidemment, c'est incorrect\n```\n\nJe comprends que la méthode `read()` ne retourne qu'un seul byte (int), et non toute la chaîne. J'ai essayé d'utiliser `BufferedReader` et `InputStreamReader`, mais je suis toujours confus. Comment lire correctement et efficacement tout un InputStream en une chaîne ? Quelles sont les best practices en Java 8+ ? Merci d'avance pour votre aide.