Tecnología

Inicio

Cómo convertir ServletInputStream a FileInputStream

El lenguaje de programación Java es orientado a objetos. Los objetos son entidades abstractas que poseen un estado y un comportamiento, y se construyen a partir de la clase modelo similar. Una de las ventajas de los lenguajes orientados a objetos es que permiten construir sobre las clases anteriormente dados de software utilizando la herencia. Dos clases diferentes que heredan la misma clase de base se pueden utilizar para convertir fácilmente de una clase a otra. Por ejemplo, el ServletInputStream y FileInputStream tanto heredan el InputStream clase. Puede convertir los datos desde una secuencia a otra mediante el tratamiento de estas clases como su clase padre, InputStream.

Instrucciones

1 Cargar el IDE NetBeans haciendo clic en el icono del programa. Cuando se carga el programa, vaya a "Nuevo Proyecto / Nuevo" y seleccionar "Aplicación Java" de la lista en el lado derecho de la pantalla. Un nuevo archivo de código fuente aparece en el editor NetBeans texto. El archivo de código fuente contiene un método main vacío.

2 Añadir las siguientes líneas al método principal. Estas líneas intentan abrir un archivo mediante un bloque "try / catch". Si hay un error, el programa se detendrá y lanzar una excepción. Escribe lo siguiente dentro de las llaves del método principal:

try
{
FileInputStream fis = new FileInputStream("filename.txt");
convertStreams(fis);
}
catch(Exception e) {}

3 Crear un nuevo método fuera de las llaves del método principal. Este método va a convertir cualquier clase que hereda la clase InputStream, como ServletInputStream y FileInputStream. Escribe el siguiente método de firma:

public static void convertStreams(InputStream in)

{}

4 Crear un bloque "try / catch" dentro de las llaves del método de dejar estas vacía por el momento, al igual que "convertStreams.":

tratar
{}
catch (Exception e) {}

5 Crear un objeto "StringBuilder" dentro del bloque "tratar" y el nombre de "tampón". Esto almacenará los datos que se encuentran en la clase InputStream y dejar que la salida a la consola, o para otra corriente.

StringBuilder buffer = new StringBuilder();

6 Declarar una variable entera que le ayudará a leer InputStream. El método de "lectura" de la clase InputStream devuelve un valor superior a -1 cuando hay más caracteres en el flujo. Se puede probar el valor del carácter mediante la siguiente variable de enteros:

int ch;

7 Crear un bucle "while" que repite siempre que hay personajes que quedan en la corriente. Puede probar la salida del método de "lectura" de esta manera:

while ((ch = in.read()) > -1)
{}

8 Añadir cualquier carácter que se encuentra en la corriente de la variable "tampón", mediante la colocación de la siguiente línea dentro de las llaves del bucle while:

buffer.append((char)ch);

9 Cerrar la secuencia escribiendo la siguiente línea de código justo después de que el bucle "while":

in.close();

10 Imprimir el contenido de la InputStream a la ventana de la consola de salida escribiendo la siguiente línea de código:

System.out.println(buffer.toString());

11 Pulse el botón verde "Play" para ejecutar el programa. Un "FileInputStream" se crea y se abre un archivo llamado "archivo.txt". Esta corriente se hace pasar a un método que espera un "InputStream" e imprime todos los caracteres en el archivo. Puede pasar cualquier clase que hereda "InputStream," tales como "ServletInputStream."