Ejercicios DE TRY- Catch- Archivos PDF

Title Ejercicios DE TRY- Catch- Archivos
Author Cesar Aguas
Course Programación de Computadores
Institution Politécnico Grancolombiano
Pages 14
File Size 918.5 KB
File Type PDF
Total Downloads 8
Total Views 153

Summary

Ejemplos de leer documentos con extensión txt usando java. ...


Description

Profesor: Alexis Rojas Cordero

PROGRAMACION DE COMPUTADORES Switches, try-catch y archivos en Java

EJERCICIOS DE PROGRAMACION CON METODOS, RANDOMICOS Y CADENAS

GRUPO: A y B

|

Contenido OBJETIVO GENERAL........................................................................................................... 2 OBJETIVOS ESPECIFICOS.................................................................................................. 2 INSTRUCCIÓN SWITCHE..................................................................................................... 2 TRY CATCH........................................................................................................................... 7 TRATAMIENTO DE DATOS CON ARCHIVOS......................................................................9 Lectura de un archivo de texto en java...............................................................................9 Escritura de un archivo de texto en java...........................................................................11

EJERCICIOS DE PROGRAMACION CON METODOS, RANDOMICOS Y CADENAS

GRUPO: A y B

OBJETIVO GENERAL. Trabajar con funciones avanzadas del Java

OBJETIVOS ESPECIFICOS  Manejo de la instrucción CASE  Manejo de ERRORES o también llamado Excepciones  Operación de archivos de datos en Java

INSTRUCCIÓN SWITCHE La instrucción switch es una instrucción de múltiples vías. Proporciona una forma sencilla de enviar la ejecución a diferentes partes del código en función del valor de la expresión. Básicamente, la expresión puede ser de tipos de datos primitivos byte, short, char e int. Sintaxis // declaración de switch switch(expresión) { // declaración case // los valores deben ser del mismo tipo de la expresión case valor1 : // Declaraciones

EJERCICIOS DE PROGRAMACION CON METODOS, RANDOMICOS Y CADENAS

GRUPO: A y B

break; // break es opcional

case valor2 : // Declaraciones break; // break es opcional

// Podemos tener cualquier número de declaraciones de casos o case // debajo se encuentra la declaración predeterminada, que se usa cuando ninguno de los casos es verdadero. // No se necesita descanso en el case default default : // Declaraciones }

EJERCICIOS DE PROGRAMACION CON METODOS, RANDOMICOS Y CADENAS

Ejemplo

GRUPO: A y B

EJERCICIOS DE PROGRAMACION CON METODOS, RANDOMICOS Y CADENAS

Segundo ejemplo public class MiniCalculadora{ public static void main(String args[]){ int a = 1; int b = 1; char op = '/'; System.out.print("El resultado es : "); switch ( op ) { case '+': System.out.println( a + b ); break; case '-': System.out.println( a - b ); break; case '*':

GRUPO: A y B

EJERCICIOS DE PROGRAMACION CON METODOS, RANDOMICOS Y CADENAS

GRUPO: A y B

System.out.println( a * b ); break; case '/': System.out.println( a / b ); break; default: System.out.println("error" ); break; } } } Simular el tirado de un dado 10 veces. Mostrar luego la cantidad de veces que salieron valores pares e impares.

public class DadosParesImpares { public static void main(String[] args) { int pares = 0; int impares = 0; for (int f = 0; f < 10; f++) { int dado = (int) (Math.random() * 6) + 1; switch (dado) { case 1: case 3: case 5: impares++; break; case 2: case 4: case 6: pares++; break; } } System.out.println("Cantidad de veces que salieron pares: " + pares); System.out.println("Cantidad de veces que salieron impares: " + impares); } }

EJERCICIOS DE PROGRAMACION CON METODOS, RANDOMICOS Y CADENAS

GRUPO: A y B

TRY CATCH try { Código desarrolla una función o abre y trata el archivo } catch (IOExcepction ex) { Código que trata el error }

Java dispone de un mecanismo de capturar (catch) ciertos tipos de errores que solo pueden ser detectados en tiempo de ejecución del programa. Los ejemplos más comunes que podemos nombrar de excepciones:

    

Tratar de convertir a entero un String que no contiene valores numéricos. Tratar de dividir por cero. Abrir un archivo de texto inexistente o que se encuentra bloqueado por otra aplicación. Conectar con un servidor de bases de datos que no se encuentra activo. Acceder a subíndices de vectores y matrices fuera de rango.

La captura de excepciones nos permite crear programas mucho más robustos y tolerante a fallas que ocurren en escasas situaciones, pero en caso que se presenten disponemos de un algoritmo alternativo para reaccionar a dicha situación evitando que el programa finalice su ejecución. Ejemplo1:

import java.util.InputMismatchException; import java.util.Scanner; public class CuadradoNumero { public static void main(String[] ar) { Scanner teclado = new Scanner(System.in); int num; try { System.out.print("Ingrese un valor entero:");

EJERCICIOS DE PROGRAMACION CON METODOS, RANDOMICOS Y CADENAS

GRUPO: A y B

num = teclado.nextInt(); int cuadrado = num * num; System.out.print("El cuadrado de " + num + " es " + cuadrado); } catch (InputMismatchException ex) { System.out.println("Debe ingresar obligatoriamente un número entero."); } } }

Ejemplo2:

import java.util.InputMismatchException; import java.util.Scanner; public class CuadradoNumero { public static void main(String[] ar) { Scanner teclado = new Scanner(System.in); int num; boolean continua; do { try { continua = false; System.out.print("Ingrese un valor entero:"); num = teclado.nextInt(); int cuadrado = num * num; System.out.print("El cuadrado de " + num + " es " + cuadrado); } catch (InputMismatchException ex) { System.out.println("Debe ingresar obligatoriamente un número entero."); teclado.next(); continua = true; } } while (continua); }

EJERCICIOS DE PROGRAMACION CON METODOS, RANDOMICOS Y CADENAS

GRUPO: A y B

TRATAMIENTO DE DATOS CON ARCHIVOS Lectura de un archivo de texto en java Para abrir un archivo de texto y poder leerlo, se usa la clase FileReader. Esta clase tiene métodos que permiten leer caracteres. Sin embargo, es habitual querer leer las líneas completas, bien porque interesa la línea completa o bien para poder analizarla luego y extraer campos de ella. FileReader no contiene métodos que permitan leer líneas completas, esto se hace con la clase BufferedReader, la cual construye un BufferedReader a partir del FileReader de la siguiente forma: File archivo = new File ("C:\\datos.txt"); // variable archivo declada tipo File FileReader archivo

fr

= new FileReader (archivo); // Primer constructor que activa el

br

BufferedReader = new BufferedReader(fr); //Segundo constructor para leer lineas ... String linea = br.readLine(); // aquí ya se ejecura la lectura

La apertura del archivo y su posterior lectura pueden lanzar excepciones que debemos capturar. Por ello, la apertura del archivo y la lectura debe meterse en un bloque try-catch. Además, el archivo hay que cerrarlo cuando terminemos con él, tanto si todo ha ido bien como si ha habido algún error en la lectura después de haberlo abierto. Por ello, se suele poner al try-catch un bloque finally y dentro de él, el close() del archivo. Los datos se muestran en la figura 1. En la figura 2 se muestra el archivo creado en el disco C. El siguiente es un código completo con todo lo mencionado se observa en la Figura 3.

EJERCICIOS DE PROGRAMACION CON METODOS, RANDOMICOS Y CADENAS

Figura 1. Datos grabados

Figura 2. Archivo llamado: DATOS.TXT

Figura 3. Código fuente para leer líneas de un archivo en java import java.io.*;

GRUPO: A y B

EJERCICIOS DE PROGRAMACION CON METODOS, RANDOMICOS Y CADENAS

GRUPO: A y B

public class leerDatosArchivo { public static void main(String[] arg) { File archivo = null; FileReader fr = null; BufferedReader br = null; try { // Apertura del archivo y creación de BufferedReader para poder // hacer una lectura cómoda (disponer del método readLine()). archivo = new File("C:\\DATOS.TXT"); fr = new FileReader(archivo); br = new BufferedReader(fr); // Lectura del archivo String linea; while ((linea = br.readLine()) != null) //CONTROLA EL // FIN DEL ARCHIVO (MINETRAS NO SEA VACIO HAGA) System.out.println(linea); } catch (Exception e) { System.out.println("**********************************"); System.out.println("* EL ARCHIVO DATOS NO EXISTE *"); System.out.println("**********************************"); e.printStackTrace(); } finally { // En el finally cerramos el archivo, para asegurarnos // que se cierra tanto si todo va bien como si salta // una excepcion. try { if (null != fr) { fr.close(); } } catch (Exception e2) { System.out.println("error cerrando el archivo"); e2.printStackTrace(); } } } }

Escritura de un archivo de texto en java Para escribir archivos es necesario habilitar una variable tipo File para definir la ruta donde va a quedar en el disco y como se va a llamar el archivo. Después verificar si tiene permisos de escritura en ese archivo, si sale false, es porque el archivo no existe. Luego crea la estancia (constructor de grabación de datos) con BufferedWriter

EJERCICIOS DE PROGRAMACION CON METODOS, RANDOMICOS Y CADENAS

GRUPO: A y B

Con bw.write(mensaje) se eEscribe en el archivo, donde mensaje es la variable que lleva los contenidos. Para que cree líneas nuevas dentro del archivo, se usa bw.newLine(); Ejemplo import java.util.*; import java.io.*; import java.util.Scanner; public class escribirFichero { public static void main(String[] args) throws IOException { Scanner teclado=new Scanner(System.in); File archivo = new File("c:/DISCOC/fichero8.txt"); //ruta del archivo System.out.println("El archivo con permisos?: " + archivo.setWritable(true)); // verificar si tiene permisos en el disco BufferedWriter bw; try { if (archivo.exists()) { bw = new BufferedWriter(new FileWriter(archivo,true)); //adicionar líneas al final con el parámetro "true" System.out.println("El archivo existe y se abrió."); } else { bw = new BufferedWriter(new FileWriter(archivo)); System.out.println("Se creó el archivo se se habilitó para escribir"); } int terminar String codigo String nombres String apellidos String plata String mensaje

= = = = = =

-1; null; null; null; null; null;

while (terminar != 0) { System.out.println(" "); System.out.println("Ingrese codigo = teclado.next(); System.out.println("Ingrese nombres = teclado.next(); System.out.println(" "); System.out.println("Ingrese apellidos = teclado.next(); System.out.println("Ingrese plata = teclado.next();

la opcion "); el nombre "); los apellidos "); el valor ");

mensaje = codigo +"," + nombres+"," + apellidos + "," + plata; bw.write(mensaje); bw.newLine();

//Escribe en el archivo // salta de linea

EJERCICIOS DE PROGRAMACION CON METODOS, RANDOMICOS Y CADENAS

GRUPO: A y B

System.out.println("Para terminar digite 0"); terminar = teclado.nextInt(); } System.out.println(" F. I. N."); bw.close(); } catch (IOException e) { e.printStackTrace(); System.out.println("El arhivo no se pudo abrir ni crear"); } } }

Arcivo: fichero8.txt

Taller. (usar case para las opciones) 1. Opción 1. Hacer un programa que cree o le adicione datos a un archivo llamado estudiates que guarde el código, el primer nombre, el segundo nombre o un espacio si on tiene segundo nombre, el primer apellido, el segundo apellido, el nombre de la materia y la nota. 2. Con la opción 2, liste el archivo creado....


Similar Free PDFs