orgposada.urlpos
Class URLTextReader

java.lang.Object
  |
  +--orgposada.urlpos.URLTextReader

public class URLTextReader
extends java.lang.Object

Lee un archivo con un URL.

Version:
1.0, 22/11/2001
Author:
Omar Posada Villarreal

Field Summary
private  java.io.BufferedReader buffRead
          Lector temporal.
private  java.io.InputStream inpStr
          Corriente de entrada.
private  java.io.InputStreamReader inpStrRead
          Lector de la corriente de entrada.
 java.lang.String IS_DIRECTORY
          Constante para localizar a un directorio.
 java.lang.String IS_FILE
          Constante para localizar a un archivo.
 java.lang.String STRING_DIRECTORY
          Prefijo de un directorio.
 java.lang.String STRING_FILE
          Prefijo de un archivo.
private  java.net.URLConnection urlConn
          Conexion al URL.
 
Constructor Summary
URLTextReader()
           
 
Method Summary
 void closeFile()
          Libera los recursos usados para el archivo.
private  void crossDirectory(java.lang.String fullPathFile, java.lang.String indent, java.lang.StringBuffer strBuffTree)
          Recorre un directorio de forma recursiva.
 java.lang.StringBuffer getFileContent()
          Deprecated. Usar readFileContent()
 java.lang.String navigateDirectory(java.net.URL baseURL)
          Recorre un directorio de forma recursiva.
 java.io.BufferedReader openFile(java.lang.String fullPathFile)
          Deprecated. Usar readFileContent() o cambiar codigo funciona bien para *.XML, *.HTML
 java.io.BufferedReader openFile(java.lang.String CodeBase, java.lang.String RelativePathFile)
           
 java.lang.StringBuffer readFileContent(java.lang.String fullPathFile)
          Abre, lee el contenido del archivo y lo cierra.
static java.net.URL validateURLWithFile(java.net.URL urlBase, java.lang.String strPathFile)
          Valida la union de un URL y una cadena con ruta/archivo.
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

IS_DIRECTORY

public final java.lang.String IS_DIRECTORY
Constante para localizar a un directorio.

IS_FILE

public final java.lang.String IS_FILE
Constante para localizar a un archivo.

STRING_DIRECTORY

public final java.lang.String STRING_DIRECTORY
Prefijo de un directorio.

STRING_FILE

public final java.lang.String STRING_FILE
Prefijo de un archivo.

urlConn

private java.net.URLConnection urlConn
Conexion al URL.

buffRead

private java.io.BufferedReader buffRead
Lector temporal.

inpStr

private java.io.InputStream inpStr
Corriente de entrada.

inpStrRead

private java.io.InputStreamReader inpStrRead
Lector de la corriente de entrada.
Constructor Detail

URLTextReader

public URLTextReader()
Method Detail

openFile

public java.io.BufferedReader openFile(java.lang.String CodeBase,
                                       java.lang.String RelativePathFile)
                                throws java.net.MalformedURLException,
                                       java.net.UnknownServiceException,
                                       java.io.IOException,
                                       java.lang.Exception
Parameters:
CodeBase - Ejemplo: "http://www.cimat.mx/~posada/ReadURLFile/"
RelativePathFile - Ejemplo: "DirPrueba/test.txt"

openFile

public java.io.BufferedReader openFile(java.lang.String fullPathFile)
                                throws java.net.MalformedURLException,
                                       java.net.UnknownServiceException,
                                       java.io.IOException
Deprecated. Usar readFileContent() o cambiar codigo funciona bien para *.XML, *.HTML

Coloca el contenido del archivo en el BufferedReader "buffRead". Solo lee archivos de texto. El content type debe ser no nulo, texto o desconocido. Al terminar de usar la clase es recomendable cerrarla con "closeFile()" Si no se tiene el Codebase desde un Applet, no se puede abrir ningun archivo Es muy importante obtener el "applet.getCodeBase()" URL getCodeBase() Ej: "http://www.cimat.mx/~posada/ReadURLFile/"
Parameters:
fullPathFile - Ejemplo: "/Datos/Documento.txt"
Throws:
java.net.MalformedURLException - Si el protocolo no es conocido. No existe el archivo.
java.io.IOException - No se abre bien la conexion.
java.net.UnknownServiceException - Problemas en el InputStream.
See Also:
closeFile()

closeFile

public void closeFile()
               throws java.io.IOException
Libera los recursos usados para el archivo.
Throws:
java.io.IOException - No se pudo cerrar correctamente.

getFileContent

public java.lang.StringBuffer getFileContent()
                                      throws java.io.IOException
Deprecated. Usar readFileContent()

Lee el contenido del archivo. Muestra en consola el contenido.
Throws:
java.io.IOException - No se pudo leer correctamente.

readFileContent

public java.lang.StringBuffer readFileContent(java.lang.String fullPathFile)
                                       throws java.net.MalformedURLException,
                                              java.io.IOException
Abre, lee el contenido del archivo y lo cierra. Ejemplo de uso:
	URLTextReader utr;
	String	sURL = null;
	BufferedReader 	buffRead;
	StringBuffer strBuffFile = new StringBuffer();
	try {
		//String urlBase = getCodeBase();
		//TextField	tfURL;
		sURL = URLTextReader.validateURLWithFile(
			urlBase, tfURL.getText() ).toString();
		utr = new URLTextReader();
		strBuffFile = utr.readFileContent(sURL);
		
	} catch (MalformedURLException mue) {
		throw new Exception(
			"Favor de escribir un URL valido.");
	} catch (IOException ioe) {
		throw new Exception(
			"Problemas en la lectura del archivo.");
	} catch (Exception e) {
		throw new Exception(
			"Problemas con los Streams u otros.");
	} 
 
Returns:
Regresa el contenido del archivo. Usar "toString()" para convertirlo a String.
Throws:
java.io.IOException - No se pudo leer correctamente.
See Also:
Object.toString()

validateURLWithFile

public static java.net.URL validateURLWithFile(java.net.URL urlBase,
                                               java.lang.String strPathFile)
                                        throws java.lang.IllegalArgumentException,
                                               java.net.MalformedURLException
Valida la union de un URL y una cadena con ruta/archivo. Cambia los separadores de sistema por los de Java. Si el urlBase es local, verifica si es direccion absoluta o relativa. Si el urlBase es del web, quita o agrega el separador.
Parameters:
urlBase - La ruta o CodeBase de la clase. Se asume que termina con "/". Ejemplo: \oposada\JavaSource\ProgAvan\JavaProg\pack10
strPathFile - Cadena con ruta y archivo.
Returns:
Un URL valido
Throws:
java.lang.IllegalArgumentException - Si strPathFile vacio.
java.net.MalformedURLException - URL invalido.

navigateDirectory

public java.lang.String navigateDirectory(java.net.URL baseURL)
                                   throws java.io.IOException
Recorre un directorio de forma recursiva. Se asume que el URL es de un directorio. Llama a crossDirectory(). Ejemplo de retorno:
 FILE	Hola mundo.txt
 DIR	Mis Documentos
 FILE	Musica.mp3
 FILE	Perro.gif
 DIR	MisHTML
 
Parameters:
baseURL - Direccion URL valida.
Returns:
Cadena con formato de archivo.
Throws:
java.io.IOException - No se pudo leer el contenido del directorio

crossDirectory

private void crossDirectory(java.lang.String fullPathFile,
                            java.lang.String indent,
                            java.lang.StringBuffer strBuffTree)
                     throws java.io.IOException
Recorre un directorio de forma recursiva.
Parameters:
strBuffTree - Salida donde se agregan los archivos
indent - Nivel de indentado.
Throws:
java.io.IOException - No se pudo leer el contenido del directorio