Title: Introduccin a la Programacin versin Orientada a Objetos
1Introducción a la Programaciónversión Orientada
a Objetos
- CapÃtulo 8 Archivos y Bases de Datos
- Rodrigo Sandoval
2Contenido
- Lectura y Escritura de Archivos de Texto
- Streams y System.IO
- Control de Errores con try-catch
- StreamReader y StreamWriter
- Bases de Datos
- Conceptos Básicos.
- Modelos de BD.
3I/O de Archivos de Texto
- Input/Output Escritura/Lectura
4Archivos
- Memoria Secundaria Almacenamiento Permanente y
de alto volumen de información. - Stream
- Objeto para transferir datos, desde (lectura) y
hacia (escritura) una fuente (archivos,
impresora, consola, red, ) - Objetos en .NET para manejo de Archivos
- FileStream. Lectura de datos binario (no de
texto), aunque sirve para texto también. (No se
verá en detalle en este curso). - StreamReader y StreamWriter. Lectura y escritura
de archivos de texto plano (tipo .txt). - System.IO
- Namespace que contiene los objetos para acceso a
archivos.
5Control de Errores/Excepciones
- Qué pasa cuando el archivo que se quiere leer no
existe? O cuando se quiere escribir en un disco
lleno o protegido? ? Control de Excepciones. - Bloque try-catch
try // Operación potencialmente errónea
catch(Exception e) // Aquà van las
instrucciones en caso // de excepción.
6Control de Excepciones - Ejemplo
public int division(int n1, int n2) int
resultado 0 try resultado
n1/n2 catch(Exception e) Console.WriteLin
e( "Error en 0/1\n\n2", n1, n2,
e.ToString())
() Se puede usar con cualquier tipo de operación
en C
7Lectura de Archivos StreamReader
- Objeto de .NET con constructores y métodos que
trabajan con archivos (streams) de texto. - Constructores
- Método de cierre
()
StreamReader sr new StreamReader(_at_C\nuevos\arc
hivo.txt)
StreamReader sr new StreamReader(_at_C\nuevos\arc
hivo.txt, Encoding.UTF8Encoding)
sr.Close()
() Se usa _at_ delante de un string para anular el
efecto de \
8Lectura de Archivos StreamReader
- ReadLine() equivalente al de Console.
- ReadToEnd() lee hasta el final del archivo.
- Read() lee un carácter o varios y codifica como
int para procesar la tabla ASCII completa.
string linea sr.ReadLine() Console.WriteLine(li
nea)
string linea sr.ReadToEnd() Console.WriteLine(l
inea) // N lÃneas con \n
int SigCaracter sr.Read() char CharArray
new char100 int nChars sr.Read(CharArray,
0, 100)
9Ejemplos Lectura de Archivos
- Ejemplo 1 Apertura y Lectura de un archivo,
mostrando en pantalla su contenido. - Ejemplo 2 Apertura y lectura de un archivo con
operaciones matemáticas, procesando en cada una
operación, mostrando resultado en pantalla. - Observaciones
- Un archivo se lee secuencialmente sin posibilidad
de retroceder. - Para re-leer una porción, se cierra y se vuelve a
abrir.
10Escritura de Archivos StreamWriter
- Constructores
- Normal lo crea si no existe o lo borra y deja
vacÃo. - Con Codificación de formato.
- Con posibilidad de agregar al final sin borrar lo
existente. - Método de cierre
StreamWriter sw new StreamWriter
(_at_C\nuevos\archivo.txt)
StreamWriter sw new StreamWriter
(_at_C\nuevos\archivo.txt, Encoding.ASCII)
StreamWriter sw new StreamWriter
(_at_C\nuevos\archivo.txt, true)
sw.Close()
11Escritura de Archivos StreamWriter
- WriteLine() equivalente al de Console.
- Write() (idem)
string linea Texto de prueba sw.WriteLine(lin
ea) sw.WriteLine(Valores posibles son 0 y
1, 3, 5)
char caracter T sw.Write(caracter) char
caracteres new char100 for(int i0 ilt100
i) caracteresi sw.Write(caracteres) f
or(int i0 ilt100 i) caracteresi
sw.Write(caracteres, 25, 50) // Desde
posición 25 se escriben 50 caracteres
12Ejemplos Escritura de Archivos
- Ejemplo 1 Apertura y lectura de un archivo con
operaciones matemáticas, procesando en cada una
operación, mostrando resultado en pantalla y
escribiendo el resultado a otro archivo.
13Bases de Datos
- Almacenamiento estructurado de información