Convertir une chaîne de caractères en InputStream en Java

  1. Utilisez ByteArrayInputStream() pour convertir une chaîne de caractères en InputStream en Java
  2. Utilisez StringReader et ReaderInputStream pour convertir une chaîne de caractères en InputStream en Java
  3. Utilisez org.apache.commons.io.IOUtils pour convertir une chaîne de caractères en un InputStream

Nous parlerons de la manière de convertir une chaîne de caractères en un InputStream en Java en utilisant plusieurs méthodes. Une chaîne de caractères est un ensemble de caractères, tandis qu’un InputStream est un ensemble d’octets. Voyons comment nous pouvons convertir une chaîne de caractères en InputStream en Java.

Utilisez ByteArrayInputStream() pour convertir une chaîne de caractères en InputStream en Java

Le paquet d’entrées/sorties de Java a la classe ByteArrayInputStream qui lit les tableaux d’octets comme InputStream. Tout d’abord, nous utilisons getBytes() pour récupérer les octets de exampleString avec le jeu de caractères UTF_8, et ensuite nous les passons à ByteArrayInputStream.

Pour vérifier si nous avons atteint notre objectif, nous pouvons lire le inputStream en utilisant read(), et convertir chaque byte en char. Cela nous renverra notre chaîne de caractères originale.

import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;

public class Main {
    public static void main(String[] args) throws IOException {
        String exampleString = "This is a sample string";

        InputStream inputStream = new ByteArrayInputStream(exampleString.getBytes(StandardCharsets.UTF_8));

      //To check if we can read the string back from the inputstream
        int i;
        while ((i = inputStream.read()) != -1){
            char getSingleChar = (char)i;
            System.out.print(getSingleChar);
        }

    }
}

Production :

This is a sample string

Utilisez StringReader et ReaderInputStream pour convertir une chaîne de caractères en InputStream en Java

La seconde technique pour convertir la chaîne en InputStream utilise deux méthodes, StringReader et ReadInputStream. La première est utilisée pour lire la chaîne et l’envelopper dans un reader tandis que la seconde prend deux arguments, un reader et les charsets. Enfin, on obtient le InputStream.

import org.apache.commons.io.input.ReaderInputStream;

import java.io.IOException;
import java.io.InputStream;
import java.io.StringReader;
import java.nio.charset.StandardCharsets;

public class Main {

    public static void main(String[] args) throws IOException {

        String exampleString = "This is a sample string";

        StringReader stringReader = new StringReader(exampleString);

        InputStream inputStream = new ReaderInputStream(stringReader, StandardCharsets.UTF_8);

        //To check if we can read the string back from the inputstream
        int i;
        while ((i = inputStream.read()) != -1){
            char getSingleChar = (char)i;
            System.out.print(getSingleChar);
        }
    }
}

Production :

This is a sample string

Utilisez org.apache.commons.io.IOUtils pour convertir une chaîne de caractères en un InputStream

Nous pouvons également utiliser la bibliothèque Apache Commons pour nous faciliter la tâche. La classe IOUtls de cette bibliothèque Apache Commons a une méthode toInputStream() qui prend une chaîne de caractères et le charset à utiliser. Cette méthode est la plus simple de toutes car nous n’avons qu’à appeler une seule méthode pour convertir la chaîne Java en InputStream.

import org.apache.commons.io.IOUtils;

import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;

public class Main {

    public static void main(String[] args) throws IOException {

        String exampleString = "This is a sample string";

        InputStream is = IOUtils.toInputStream(exampleString, StandardCharsets.UTF_8);

        //To check if we can read the string back from the inputstream
        int i;
        while ((i = is.read()) != -1){
            char getSingleChar = (char)i;
            System.out.print(getSingleChar);
        }
      
    }
}

Production :

This is a sample string

Article connexe - Java String

  • Comment convertir la date d'une chaîne en horodatage en Java
  • Remplacer les caractères multiples dans une chaîne de caractères en Java
  • Article connexe - Java InputStream

  • Booléen à chaîne de caractères en Java
  • Comment convertir une chaîne en date en Java