You are on page 1of 6

Uso del BufferedReader

La clase BufferedReader es muy usada para leer archivos de texto plano que contenga informacin que el programa pueda usar. Si deseamos leer un archivo dado, se escribe el siguiente cdigo:

String archivo = "nombre.txt"; BufferedReader in = new BufferedReader (new FileReader(archivo)); Donde nombre.txt se reemplaza por el nombre del archivo dado. Si queremos leer una lnea del archivo recin abierto se usa: aux = in.readLine(); Con este comando se ha ledo la primera lnea del archivo. Para leer todo un archivo, se puede usar algo de la forma siguiente: while(true) { aux = in.readLine(); // Se lee la linea if (aux == null) break; //Se verifica si se ha terminado el archivo . . . } EJEMPLO: Se desea leer del archivo letras.txt todas las lineas y mostrarlas en pantalla. String archivo = "letras.txt"; BufferedReader in = new BufferedReader (new FileReader(archivo)); String aux; while(true) { aux = in.readLine(); if (aux == null) break; System.out.println(aux); } in.close(); Si se estn dando datos numricos en el archivo y se quiere trabajar con ellos, hay que usar un comando extra. (Suponiendo que existe una variable String aux con una lnea del archivo) Para pasar de String a int: int aux2; // Se inicializa un int aux2 = Integer.parseInt(aux); Pasar de String a double el codigo es analogo: double aux3; aux3 = Double.parseDouble(aux); NOTAS: 1. Recordar siempre agregar el comando throws IOException al inicio de la clase main, de la forma siguiente: public static void main (String args[]) throws IOException { ... 2. Al terminar de usar un archivo abierto con BufferedReader, recordar siempre cerrarlo con el siguiente comando: in.close(); . Si es que la variable es in.

Uso del FileWriter:


Se usa para escribir archivos de texto plano con informacin que pudo haber sido procesada por el programa en uso. Para inicializar una variable que permita escribir archivos de texto, se usa el siguiente cdigo: String archivo = nombre.txt; PrintWriter out = new PrintWriter (new FileWriter(archivo)); Donde nombre.txt se reemplaza por el nombre del archivo que se desea crear. Para escribir una lnea, se usa out.print () y out.println() respectivamente si se desea seguir en la misma lnea o saltar a la siguiente. EJEMPLO: Escribiremos un programa que escriba los nmeros del 1 al 10 de la forma Numero n. String archivo = numeros.txt; PrintWriter out = new PrintWriter (new FileWriter(archivo)); for (int i = 0, i < 10, i++) { out.println(Numero + i); } out.close(); NOTAS: 1. Recordar siempre agregar el comando throws IOException al inicio de la clase main, de la forma siguiente: public static void main (String args[]) throws IOException { ... 2. Al terminar de usar un archivo abierto con PrintWriter, recordar siempre cerrarlo con el siguiente comando: out.close(); . Si es que la variable es out.

Como leer Strings, ints y doubles desde el teclado:


Esto resulta muy til al querer crear programas que interactuen con el usuario en tiempo real ya que se pueden realizar peticiones de datos durante la ejecucin de stos. Para inicializar la variable para leer desde el teclado se debe escribir siempre el mismo cdigo: BufferedReader entrada = new BufferedReader (new InputStreamReader(System.in)); Para leer un String, simplemente se usa String aux = entrada.readLine(); Para int y double, se deben convertir las variables al tipo apropiado al leerlas, as, los cdigos quedan: Para int: int aux2 = Integer.parseInt(entrada.readLine()); Para double: double aux3 = Double.parseDouble(entrada.readLine()); EJEMPLO 1: Jalisco.java Jalisco nunca pierde! Le das un numero y el te gana con uno mayor. BufferedReader entrada = new BufferedReader (new InputStreamReader(System.in)); System.out.print(Ingresa un numero :); int numero = Integer.parseInt(entrada.readLine()); numero = numero + 1; System.out.println (Yo gano con + numero) ; EJEMPLO 2: Se preguntarn algunos datos personales y los muestra en pantalla. BufferedReader entrada = new BufferedReader (new InputStreamReader(System.in)); System.out.print(Ingresa tu nombre: ); String nombre = entrada.readLine(); System.out.print(Ingresa tu edad: ); int edad = Integer.parseInt(entrada.readLine()); System.out.print(Ingresa tu altura en metros (ej: 1,75): ); double altura = Double.parseDouble(entrada.readLine()); System.out.println (Hola + nombre); System.out.println(Tienes + edad + aos.); System.out.println(Y mides + altura + mts.);

Bases de datos SQL


Para inicializar una consulta a una base de datos SQL se deben copiar lo suiguiente: Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); String url = "jdbc:odbc:miBD"; // la base de datos String login = "el login"; String password = "el password"; Connection conexion = DriverManager.getConnection(url,login,password); Statement instruccion = conexion.createStatement(); Los campos de url, login y password se dejan en blanco (ie ) si es que no se dan esos datos. Luego, se debe realizar la consulta: String consulta = "CONSULTA A REALIZAR"; ResultSet rs = instruccion.executeQuery(consulta); Y finalmente, para mostrar los resultados, se debe hacer un while: while (rs.next()) { ... } EJEMPLO: import java.sql.*; class UsoJdbc { public static void main(String args) throws ClassNotFoundException, SQLException { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); String url = "jdbc:odbc:miBD"; String login = "mi login"; String password = "mi password"; Connection conexion = DriverManager.getConnection(url,login,password); Statement instruccion = conexion.createStatement(); String consulta = "SELECT libro.titulo, prestamo.fecha FROM libro, prestamo" + " WHERE libro.codigo = prestamo.codigoLibro"; ResultSet rs = instruccion.executeQuery(consulta); while (rs.next()) { String t = rs.getString("titulo"); String f = rs.getString("fecha"); System.out.println(t + " " + f); } } } Recordar que para una consulta se usa lo siguiente: SELECT columna1, columna2 ... columna n FROM tabla1, tabla2, ... , tabla m WHERE condicin 1 AND/OR condicion 2 AND/OR ... AND/OR condicion p ORDER BY criterio1, criterio2, criterio3, ... ,criterio r

Definiciones bsicas
Base de Datos: informacin almacenada en un conjunto de tablas. Tabla: conjunto de registros (filas), cada uno compuesto de campos (columnas) que describen una entidad. La tabla define por extensin una relacin en que cada tupla est representada por un registro.

Instrucciones SQL para manipular datos


Suponiendo una base de datos constituida por una tabla libro con campos (codigo, titulo, autor, editorial, ao) y una tabla prestamo con campos (codigoLibro, codigoLector, fecha).

instruccin SELECT
Se utiliza para hacer varios tipos de consulta que entregan como resultado una nueva tabla Proyeccin (seleccin de campos) SELECT titulo, autor FROM libro; // los campos titulo y autor SELECT * FROM libro; // todos los campos SELECT * FROM libro ORDERED BY autor, titulo; // resultado se ordena Seleccin de registros SELECT * FROM libro WHERE autor = 'Cervantes' AND ao>= 1990; SELECT DISTINCT titulo WHERE autor = 'Cervantes'; // se eliminan repeticiones Join SELECT libro.titulo, prestamo.fecha FROM libro, prestamo WHERE libro.codigo = prestamo.codigoLibro; operadores lgicos: AND, OR, NOT operadores de relacin: =, <>, <, >, <=, >=, LIKE (comparacin con un patrn), BETWEEN ... AND, IN (lista) operadores aritmticos: +, -, *, /

instruccin UPDATE
Se utiliza para modificar registros. UPDATE libro SET autor = 'Miguel de Cervantes' WHERE autor = 'Cervantes';

instruccin INSERT
Se utiliza para agregar registros a una tabla. INSERT INTO libro VALUES (10300, 'El Quijote', 'Cervantes', 'U. de Chile', 2002);

instruccin DELETE
Se utiliza para borrar registros. DELETE FROM libro WHERE ao < 1950

Instrucciones SQL para administrar la base de datos


instruccin CREATE
Se utiliza para crear una tabla. CREATE TABLE prestamo (codigoLibro INTEGER, codigoLector INTEGER, fecha DATE);
Adems existen instrucciones para modificar una tabla, agregando o eliminando campos, y para destruir tablas.

You might also like