Convertir cadena a InputStream en Java
-
Usa
ByteArrayInputStream()para convertir una cadena enInputStreamen Java -
Usa
StringReaderyReaderInputStreampara convertir una cadena en unInputStreamen Java -
Usa
org.apache.commons.io.IOUUtilspara 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
