Convertir un InputStream en une chaîne de caractères en Java
-
Utiliser l’API
Stream
pour convertir unInputStream
en chaîne de caractères -
Utilisez
ByteArrayOutputStream
pour lire ou convertir un InputStream en chaîne de caractères -
Utilisez
IOUtils.toString
d’Apache Commons pour lire ou convertir un InputStream en une chaîne de caractères
Dans ce tutoriel, nous parlerons de la manière de convertir un InputStream en une chaîne de caractères en Java. Un InputStream est un Stream d’octets qui peut être utilisé pour effectuer plusieurs tâches comme la lecture. En général, c’est une classe qui contient tout en octets. Si nous voulons convertir ce Stream d’octets en tout autre type de données, il se peut que nous devions utiliser des méthodes spécifiques.
Ici, nous allons passer en revue les différentes façons dont nous pouvons lire ou convertir un InputStream
en une chaîne de caractères en Java
Utiliser l’API Stream
pour convertir un InputStream
en chaîne de caractères
Nous pouvons convertir un InputStream
en une chaîne de caractères en utilisant l’API Stream
qui fait partie de Java 8. InputStreamReader
lit l’inputStream et BufferedReader().lines()
nous aide à convertir cet InputStream
en une chaîne de caractères. Comme nous pouvons le voir, Collectors.joining()
est utilisé pour joindre toutes les chaînes du Stream et ensuite retourner une seule chaîne.
package com.company;
import java.io.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import org.apache.commons.io.IOUtils;
public class Main {
public static void main(String[] args) {
try {
InputStream inputStream = new FileInputStream("java/sampleFile.txt");
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
Stream<String> streamOfString = new BufferedReader(inputStreamReader).lines();
String streamToString = streamOfString.collect(Collectors.joining());
System.out.println(streamToString);
} catch (IOException e) {
e.printStackTrace();
}
}
}
Production :
This is a sample text file
Utilisez ByteArrayOutputStream
pour lire ou convertir un InputStream en chaîne de caractères
Nous savons qu’un InputStream
est constitué d’octets, et nous pouvons donc utiliser la classe ByteArrayOutputStream
qui convertit le readInputStream
en un tableau d’octets. Après cela, nous pouvons convertir ce tableau d’octets en une chaîne de caractères en utilisant toString()
.
package com.company;
import java.io.*;
public class Main {
public static void main(String[] args) {
try {
InputStream readInputStream = new FileInputStream("java/sampleFile.txt");
String encoding = "UTF-8";
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
byte[] byteSize = new byte[1024];
int length;
while ((length = readInputStream.read(byteSize)) != -1) {
byteArrayOutputStream.write(byteSize, 0, length);
}
System.out.println(byteArrayOutputStream.toString(encoding));
} catch (IOException e) {
e.printStackTrace();
}
}
}
Production:
This is a sample text file
Utilisez IOUtils.toString
d’Apache Commons pour lire ou convertir un InputStream en une chaîne de caractères
Pour nous faciliter la tâche, nous pouvons utiliser la fonction IOUtils.toString
incluse dans la bibliothèque Apache Commons. Pour utiliser la bibliothèque Apache Commons, nous pouvons inclure cette dépendance dans notre projet.
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.8.0</version>
</dependency>
Dans l’exemple ci-dessous, nous créons d’abord un InputStream
qui est un fichier texte, puis nous appelons la méthode IOUtils.toString()
qui prend un InputStream
et l’encodage à utiliser pour convertir le Stream. Nous utilisons l’encodage UTF-8, qui est universellement utilisé.
package com.company;
import java.io.*;
import org.apache.commons.io.IOUtils;
public class Main {
public static void main(String[] args) {
try {
InputStream inputStream = new FileInputStream("java/sampleFile.txt");
String steamToString = IOUtils.toString(inputStream, "UTF-8");
System.out.println(steamToString);
} catch (IOException e) {
e.printStackTrace();
}
}
}
Production :
This is a sample text file
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedInArticle connexe - Java String
- Comment effectuer une conversion de chaîne en chaîne en Java
- Comment supprimer une sous-chaîne d'une chaîne en Java
- Comment convertir un tableau d'octets en chaîne hexadécimale en Java
- Comment convertir une chaîne Java en octet
- Générer une chaîne aléatoire en Java
- La méthode d'échange à Java