Convertir cadena a InputStream en Java
-
Usa
ByteArrayInputStream()
para convertir una cadena enInputStream
en Java -
Usa
StringReader
yReaderInputStream
para convertir una cadena en unInputStream
en Java -
Usa
org.apache.commons.io.IOUUtils
para convertir una cadena en unInputStream
Hablaremos de cómo convertir una cadena en un InputStream
en Java usando varios métodos. Una cadena es un conjunto de caracteres, mientras que un InputStream
es un conjunto de bytes. Veamos cómo podemos convertir una cadena en InputStream
en Java.
Usa ByteArrayInputStream()
para convertir una cadena en InputStream
en Java
El paquete de I/O
de Java tiene la clase ByteArrayInputStream
que lee los arrays de bytes como InputStream
. Primero, usamos getBytes()
para obtener los bytes de exampleString
con el juego de caracteres UTF_8, y luego lo pasamos a ByteArrayInputStream
.
Para comprobar si tenemos éxito en nuestro objetivo, podemos leer el inputStream
usando read()
, y convertir cada byte
en un char
. Esto devolverá nuestra cadena original.
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);
}
}
}
Resultado:
This is a sample string
Usa StringReader
y ReaderInputStream
para convertir una cadena en un InputStream
en Java
La segunda técnica para convertir la cadena en InputStream
utiliza dos métodos, StringReader
y ReaderInputStream
. El primero se usa para leer la cadena y envolverla en un reader
mientras que el segundo toma dos argumentos, un reader
y los charsets
. Al final, obtenemos el InputStream
.
import java.io.IOException;
import java.io.InputStream;
import java.io.StringReader;
import java.nio.charset.StandardCharsets;
import org.apache.commons.io.input.ReaderInputStream;
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);
}
}
}
Resultado:
This is a sample string
Usa org.apache.commons.io.IOUUtils
para convertir una cadena en un InputStream
También podemos usar la biblioteca de Apache Commons para facilitar nuestra tarea. La clase IOUtls
de esta biblioteca de Apache Commons tiene un método toInputStream()
que toma una cadena y el juego de caracteres a utilizar. Este método es el más fácil de todos, ya que sólo tenemos que llamar a un único método para convertir la cadena de Java en InputStream
.
import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;
import org.apache.commons.io.IOUtils;
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);
}
}
}
Resultado:
This is a sample string
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedInArtículo relacionado - Java String
- Cómo eliminar la subcadena de la cadena en Java
- Cómo realizar una conversión de cadena a cadena en Java
- Cómo convertir un array de bytes en una cadena hexadecimal en Java
- Cómo convertir una cadena de Java en un byte
- Generar cadena aleatoria en Java
- El método Swap en Java