martes, 30 de diciembre de 2014

TEMA #14: LECTURA DE DOCUMENTOS DE TEXTO (.TXT)

Este tema será corto y sólo comentaremos el código que permite leer un documento de texto (.txt), que son los documentos del bloc de notas de Windows. Este proceso lo hacemos utilizando tres estructuras de control: do/while, for, if/else. Veamos todo lo que debemos importar y el código que utilizaremos:

Imports
private InputStream is = getClass.getResourceAsStream(“dirección el documento”);
private InputStreamReader isr = newInputStreamReader(is, “UTF-8”);
private char[] buffer = new char[10];
private int nchars;
private StringBuffer sb = new StringBuffer();

Código De Lectura
Form form = new Form(“Texto”);

do{
      nchars = isr.read(buffer);
      for(int i=0; i<nchars; i++){
            if(buffer[i] == ´\n´){
                  sb.append(buffer[i]);
            }else{
                  sb.append(buffer[i]);
            }
      }
} while (nchars == buffer.lenght);

form.append(sb.toString());

Algo importante que debemos destacar es que al definir el InputStreamReader le debemos proporcionar el InputStream y el tipo de codificación del documento. El bloc de notas permite guardar texto en diferentes codificaciones: ANSI, Unicode, Unicode big endian y UTF-8; esto se elige cuando entremos en el menú archivo del bloc de notas y le demos a guardar como. Saldrá un cuadro de diálogo donde podemos elegir el nombre del archivo y la codificación.
 
El código que hemos visto nos va a permitir leer un documento de texto (.txt) y poder añadirlo a la pantalla, en este caso una Form. Este elemento de la Interfaz de Alto Nivel es la manera más sencilla de mostrar el texto en la pantalla. La Form se encarga de crear una barra lateral para el “scrolling” y se encarga de agregar saltos de línea cuando una palabra no entre en una línea.


Descarga la aplicación de ejemplo. Descargar App.
Descargar el código y los recursos utilizados en la aplicación. Descargar.

Ahora, existe otra forma de mostrar el texto en la pantalla y es a través de un lienzo de dibujo (Interfaz de Bajo Nivel). Lo que diferencia esta manera de mostrar el texto en pantalla es que nos debemos encargar de los saltos de línea y del “scrolling” del texto agregado, lo que hace más difícil el proceso. Con respecto a esta manera de mostrar el texto en pantalla, les dejo una aplicación de ejemplo y un código donde se muestra cómo hacerlo.


La ventaja que resulta de utilizar un lienzo de dibujo en lugar de una Form es que en el lienzo de dibujo podremos utilizar toda la pantalla para visualizar el texto, en cambio, si utilizamos una Form, el espacio se ve limitado por el título de la Form y la barra de comandos de la Form.
Si no quieres complicarte las cosas, puedes agregar el texto a una Form, pero cuando crees la Form, en lugar de colocarle un título le agregas la palabra null para que no se muestre la barra de título de la Form: Form form = new Form(null);. Veamos cómo se ve:


 
Esto es todo en este tema. Nos vemos en el próximo tema.

No hay comentarios.:

Publicar un comentario