Agregue un método a manager que cargue todos los parámetros en un HashMap.
Manager.java
import java.io.*;
public class Manager
{
// Método para leer todas las claves del archivo parametros.ini
public static HashMap leerParametros()... }
TestManagerHashMap.java
public class TestManagerHashMap { public static void main (String[] args) {
HashMap...
lunes, 7 de marzo de 2011
Laboratorio y ejercicios sobre Archivos en Java (09.06.01)
PARTE 1
Con el siguiente archivo parametros.ini; implemente el método en la clase Manager.java que lea una variable del archivo y la devuelva como String
parametros.ini
ip=190.200.3.45
url=www.uni.edu.pe
user=integrador
password=200SCAMOF
mail=salvor.hardin@enciclopedia.com
default=*.map
...
...(y mas parámetros)
...
ruta=/home/rafael/bin...
la clase File para Directorios en Java (09.05.02)
- El método list() de la clase File muestra los archivos de un directorio. - La interfase FileNameFilter se usa para obtener un subconjunto de archivos
TestFilenameFilter.java
import java.io.*;
public class TestFilenameFilter{
public static void main( String args[] ) {
// Buscar en el raiz del disco C
// Se coloca doble slash puesto que es...
La clase File para Archivos en Java (09.05.01)
- La clase File se usa para representar un archivo o un conjunto de archivos (directorio)
File f1 = new File ("/");
File f1 = new File ("/","etc/passwd");
File f1 = new File ("config.sys");
- Puede obtener atributos del archivo mediante la clase File.
Si existe, si se puede leer, si se puede escribir.
Cuando fue la ultima vez modificado, cual...
Escritura de objetos en Java Serializable (09.04.01)
Para escribir objetos en archivos se debe usar la clase ObjectOutputStream y ObjectInputStream usando objetos que implementan la interface java.io.Serializable.
Producto.java
public class Producto implements java.io.Serializable {
// La serialización de un objeto permite
// escribir el estado de un objeto a un flujo de bytes.
private String...
Escritura de archivos en java (09.04.01)
Ejemplo:
Este programa lee un archivo java y lo modifica para escribirlo en otro archivo.
import java.io.*;
public class TestWriter {
public static void main(String[] args) { try {
// Se define el stream para leer codigo fuente
// de un archivo java
BufferedReader archivoEntrada;
archivoEntrada = new BufferedReader( new FileReader("C:\\TestWriter.java"));...
Lectura de archivos en Java (09.03.01)
Ejemplo:
Este programa pide el nombre del archivo para leer su contenido y finalmente indicar cuantas líneas tiene. Ingrese por teclado un archivo java.
import java.io.*;
public class TestStreamReader {
public static void main(String[] args) throws IOException {
String lineaJava;
int lineas = 1;
try {
System.out.print("Que archivo desea...
System.in Entra estandar en Java (09.01.02)
- La entrada estandar de la consola se representa por System.in
- in es un objeto del tipo InputStream con limitaciones en la lectura por teclado.
- Su método read no permite leer una linea completa, ni un numero.
- Se usa el método read en caso requiera realizar una pausa en el programa.
try { System.in.read(); } catch ...
- Cuando requiera leer...
System.out. Salida estandar en Java (09.02.01)
- El metodo System.out.println tambien es un stream que muestra datos en consola.
- System es una clase
- out es un atributo de System
- out es una clase es del tipo java.io.PrintStream
- out es una variable de instancia, publica y estatica.
- java.io.PrintStream hereda de java.io.OutputStream.
- println es un método
- El atributo out de la...
java.io.Writer y java.io.Reader (09.01.03)
- Con una variación las clases InputStream y OutputStream.
- Transmiten datos en forma de caracteres (16 bits)
- Las clases Writer y Reader fueron desarrolladas posteriormente y son más veloces que InputStream y OutputStream.
- Se cuenta con clases que permiten actualizar las clases antiguas.
- InputStreamReader convierte un InputStream a Reader...
java.io.InputStream y java.io.OutputStream (09.01.02)
- Las clases java estan agrupadas según su funcionalidad
- Las que tratan de la lectura heredan de InputStream.java
- Las que tratan de la escritura heredan de OutputStream.java
- Un flujo de datos binarios pueden provenir de un file, un pipe o de un objeto java.
- FileInputStream.java por ejemplo es para el manejo de archivos.
java.io.InputStream...
Stream y Archivos en Java (09.01.01)
- Cualquier cosa que sea leida o escrita hacia un dispositivo es un stream.
- Ejemplos de dispositivos: Consola, File, Pipes, Red, Memoria.
- Ejemplos de cosas a leerse o escribirse: Caracteres, Objetos java, sonido, imágenes...
- Para la lectura...
Que se puede hacer con una Excepción en Java? (08.01.05)
Excepciones controladas
Se puede:
- Capturar la excepción y manipularla
- Pasar la excepción al método invocador.
- Capturar la excepción y lanzar una excepción diferente.
Excepciones no controladas
No necesitan ser controladas en el código.
El JVM terminara el programa cuando las encuentra.
Si no desea que el programa termine tendrá que manejarl...
Throwable en Java (08.01.04)
Todos los errores y excepciones heredan de la clase Throwable
Errores.
Heredan de la clase Error; estos se generan cuando ocurren errores fatales para el programa como por ejemplo: cuando la memoria esta llena o cuando es imposible encontrar una clase...
Ejercicios sobre excepciones en Java (08.04.01)
Agregue los siguientes métodos al programa TestExcepcionTeclado.java. Cree excepciones para su control.
// método que lea solo un carácter.
public static char readChar(String etiqueta)...
// método que lea un decimal con enteros y decimales.
public static float readNumber(String etiqueta, int enteros, int decimales)...
// método que lea una dirección...
Laboratorio de Excepciones en Java (08.03.01)
Ensaye este ejemplo
public class CerradoException extends Exception {
public CerradoException () {}
public CerradoException (String msg) {
super(msg);
}
}
public class TestCerradoException {
public static void main(String[] args) {
try {
abrirLaPuerta();
} catch(CerradoException e) {
// printStackTrace...
Como capturar una excepción y lanzar otra diferente en Java (08.02.08)
En el ejemplo si ocurre un problema de IO (entrada/salida) se captura la excepción y se lanza una excepción propia.
public void ReadUserFile throws UserFileException {
try {
// código que manipula un archivo
}
catch (IOException e) {
throw new UserFileException(e.toString());
}...
Como crear una excepción en Java (08.02.07)
Para crear su propia excepción tiene que heredarla de la clase Exception.
Puede ser usado en caso quiera tratar cada problema en el código en forma diferente.
Por ejemplo el manejo del archivo1 puede tratarlo con una excepción1. El manejo de un archivo2 puede tratarlo con una excepcion2. Cada archivo tendria su propia excepción.
UserFileException.java
public...
Como lanzar una excepción en Java (08.02.06)
Para lanzar una excepción use las declaraciones throws y throw
Puede crear excepciones para manejar posibles problemas en el código.
public String getValor(int indice) throws IndexOutOfBoundsException {
if (indice < 0 || indice > 100) {
throw IndexOutOfBoundsException();
}...
Como pasar la excepción al método invocado en Java (08.02.05)
Para pasar el método al invocador, se declara con la declaración throws.
La excepción se propaga al método que lo invoco.
En el ejemplo, las excepciones de los métodos se manejan en el método invocador.
public void metodoInvocador() {
try {
miMetodo();
getResultado();
}
catch {
}
finally {
}
}
public int miMetodo()...
Ejecución del bloque finally en Java (08.02.04)
El bloque finally siempre se ejecuta dependiendo como se termina el bloque try.
- Hasta terminar la ultima sentencia del bloque try.
- Debido a sentencias return o break en el bloque try.
- Debido a una excepción.
public class TestFinally {
public static void main (String[] args) {
int cantidad= 0;
int divisor = 0;
String cadena =...
Capturando múltiples excepciones en Java (08.02.03)
Este ejemplo convierte una cadena en un entero y realiza una division.
public class TestMultiException {
public static void main (String[] args) {
int cantidad= 0;
int divisor = 0;
String cadena = "5";
try {
cantidad = Integer.parseInt(cadena);
System.out.println(cantidad);
int resultado = cantidad / divisor;
...
Capturando una excepción en Java (08.02.02)
Este ejemplo convierte una cadena en un entero
int cantidad;
String cadena = "5";
try {
cantidad = Integer.parseInt(cadena);
}
catch ( NumberFormatException e) {
System.err.println(cadena + " no es un entero");
}
Laboratorio:
Pruebe este ejemplo en un programa TestException.java. Cambie la cadena por "cinco", "1.1", "2...
Como capturar y manejar una excepción en Java (08.02.01)
- Encierre el código del método en un bloque try
- Maneje cada exception en un bloque catch.
- Cualquier proceso final realícelo en un bloque finally. Este bloque siempre se ejecutara, ocurra o no una excepción.
try {
// código del método
}
catch (exception1) {
// manejar la excepción1
}
catch (exception2) {
// manejar la excepción2
}
...
finally...
Devolviendo excepciones en Java (08.01.03)
Devolviendo la excepción hasta el manejador de excepciones.
No se requiere que cada método invocado maneje la excepción, sino únicamente lo hará el primer manejador de excepciones de la lista de métodos invocados.
Maneo Tradicional de errores
El método4...
Separando el manejo de excepciones en Java (08.01.02)
1.2. Características del Java
Cuando ocurre una excepción en un método, Java lanza (throws) una excepcion (Exception).
El objeto Exception generado contiene el tipo de excepción, y el estado del programa cuando ocurrió el error.
Separando el manejo de errores
El manejo de excepciones en java permite separarlos del algoritmo principal.
El resultado...
Excepciones en Java (08.01.01)
Que es una excepción? Es un evento que interrumpe la ejecución de un programa
- Usar un índice fuera de los limites de un arreglo
- Dividir entre cero
- Realizar métodos de objetos nulos.
Que es un error?
En java es cuando la situación es irrecuperable y termina el programa.
- No hay memoria para correr JVM
- Errores internos en JVM
Cual es la diferencia?
Una...