Vous êtes sur la page 1sur 15

UNIVERSIDAD DE EL SALVADOR

ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS


PROGRAMACION III

ARCHIVOS Y BASES DE DATOS

Contenido
Manejo de archivos ................................................................................................................................... 1
Ejemplo ................................................................................................................................................. 1
Ejercicios ............................................................................................................................................... 8
Sentencias DML y DDL............................................................................................................................ 9
Lenguaje de definicin de datos (DDL) ................................................................................................ 9
Lenguaje de manipulacin de datos (DML) ......................................................................................... 9
Creacin de Tabla y datos en Postgres SQL(pgAdmin).......................................................................... 10
Conexin al Servidor .......................................................................................................................... 10
Prueba de comandos DML .............................................................................................................. 12
Conexin Local(o Servidor Local) ..................................................................................................... 13

Manejo de archivos
Ejemplo
Realizaremos un ejemplo sobre cmo crear un archivo de texto, escribir en l y luego leer su contenido.

Nombre:

Crear archivo de texto

Autor:

PRN315

Descripcin:

Crear un archivo de texto e ingresar 3 lneas como contenido

Actores:

Usuario

Precondiciones:
Flujo normal de los eventos:
1. El Usuario inicia el programa.
2. El sistema despliega una pantalla en la que el indicar la ruta y nombre del archivo que desea crear.
3. El selecciona la ruta y escribe el nombre del archivo.
4. El sistema muestra una secuencia de tres mensajes de captura de datos en la que el Usuario escribir el
contenido que desea guardar en el archivo.
Flujos alternativos:
4. No fue posible crear el archivo. El sistema muestra el mensaje: Error al intentar abrir el archivo.
Postcondiciones:

Para resolver este problema primero debemos saber lo que debemos hacer para mostrar una ventana para Abrir un archivo.
La clase JFileChooser nos permite desplegar este tipo de ventanas.
Los constructores y los mtodos de dicha clase las encontramos al consultar el API de Java.

Constructores
JFileChooser()
Construye un JFileChooser (selector de archivos) que se posicionar en el directorio por defecto del usuario.
JFileChooser(File currentDirectory)
Construye un JFileChooser que se posicionar en la ruta del archivo recibido como parmetro.

Mtodos relevantes
void cancelSelection()

Invocado por la Interfaz de usuario (UI) cuando el usuario hace clic en el botn Cancelar.
protected JDialog createDialog(Component parent)

Crea y retorna un nuevo objeto JDialog que ser desplegado en el centro del componente recibido
como parmetro.
File getSelectedFile()

Devuelve el archivo seleccionado.


File[] getSelectedFiles()

Devuelve un arreglo de archivo seleccionados, si el selector de archivo ha sido configurado para


permitir selecciones mltiples.
void setDialogTitle(String dialogTitle)

Asigna la cadena recibida comoparmetro como ttulo de la ventana mostrada por el selector de
archivos.
void setFileFilter(FileFilter filter)

Asigna el filtro de archivos recibido.


int showOpenDialog(Component parent)

Provee de una ventana de seleccin de archivo del tipo Abrir archivo


int showSaveDialog(Component parent)

Provee una ventana de almacenamiento de archivos del tipo Guardar archivo.

Podemos usar algunos de estos mtodos para mostrar una ventana de seleccin de archivo, que nos permitir crear el
archivo en el disco duro, y devolvernos la referencia al mismo para su manipulacin.
Ntese que es posible asignar un filtro de archivo a la ventana. Esto servir para asegurarnos que los archivos
seleccionados/creados, sean de este formato.
El filtro de archivos puede ser creado con la clase FileNameExtensionFilter, que permite definir un filtro para las
extensiones de los nombres de archivo. Al consultar el API de Java, encontramos que esta clase tiene las siguientes
caractersticas:

Lista de constructores
FileNameExtensionFilter(String description, String extensions)
Crea un Filtro de extensiones de nombres de archivos con la descripcin especificada y la extensin del nombre del archivo..

public class EjemploArchivo {

public static void main(String[] args) {

JOptionPane.showMessageDialog(null, "Iniciaremos escribiendo un archivo.\nNombre el archivo con su nmero de


carnet");
escribirArchivo();
}

public static void escribirArchivo() {


JOptionPane.showMessageDialog(null, "Ejemplo crear archivo");

//Se crea el filtro de archivos


FileNameExtensionFilter filtro = new FileNameExtensionFilter("Archivos de texto", "txt");

//El objeto Swing que mostrar la ventana para seleccionar el archivo


JFileChooser seleccionador = new JFileChooser();
seleccionador.setFileFilter(filtro);
seleccionador.setDialogTitle("Abrir");

//Muestra la ventana de dilogo


seleccionador.showOpenDialog(null);

if (seleccionador.getSelectedFile() != null) {
File archivo = seleccionador.getSelectedFile();
}
}

El objeto archivo de tipo File, es la referencia que tenemos al archivo creado en el disco. Nos interesa ahora encontrar una
forma de escribir los datos en el archivo.
Al consultar el API de Java, encontraremos la clase PrintWriter, que entre otras operaciones, permite escribir los datos en un
archivo.

Constructores
PrintWriter(File file)
Crea un nuevo objeto de escritura/impresin, sin un control de flujo de lnea automtico, para el archivo recibido como

parmetro.
PrintWriter(String fileName)
Crea un nuevo objeto de escritura/impresin sin control de flujo de lnea automtico ,para el archivo recibido como parmetro.

Mtodos relevantes
void close()
Cierra el stream y libera cualquier recurso del sistema asociado a l.
void println(long x)
Imprime (en el archivo) el dato de tipo long recibido como parmetro y termina la lnea.
void println(Object x)
Imprime (en el archivo) el dato recibido como parmetro y termina la lnea.
void println(String x)
Imprime (en el archivo) el dato recibido como parmetro y termina la lnea.

public static void escribirArchivo() {


JOptionPane.showMessageDialog(null, "Ejemplo crear archivo");

//Se crea el filtro de archivos


FileNameExtensionFilter filtro = new FileNameExtensionFilter("Archivos de texto", "txt");

//El objeto Swing que mostrar la ventana para seleccionar el archivo


JFileChooser seleccionador = new JFileChooser();
seleccionador.setFileFilter(filtro);
seleccionador.setDialogTitle("Abrir");

//Muestra la ventana de dilogo


seleccionador.showOpenDialog(null);

if (seleccionador.getSelectedFile() != null) {
File archivo = seleccionador.getSelectedFile();

PrintWriter flujoSalida = null;

try {
flujoSalida = new PrintWriter(archivo);
} catch (FileNotFoundException e) {
JOptionPane.showMessageDialog(null, "Error al intentar abrir el archivo" + archivo);
System.exit(0);
}

JOptionPane.showMessageDialog(null, "Deber ingresa tres lneas de texto");

for (int i = 1; i <= 3; i++) {


String linea = JOptionPane.showInputDialog("Ingrese la lnea " + i);
flujoSalida.println(i + " " + linea);
}

flujoSalida.close();

JOptionPane.showMessageDialog(null, "El texto fue guardado en el archivo: " + archivo);


}
}

De igual forma, ahora podemos resolver el caso de uso para leer cualquier archivo de texto.

Nombre:

Consultar contenido de archivo

Autor:

PRN315

Descripcin:

Consultar el contenido de un archivo de texto

Actores:

Usuario

Precondiciones:
Flujo normal de los eventos:
1. El Usuario inicia el programa.
2. El sistema despliega una pantalla en la que el indicar la ruta y nombre del archivo que desea consultar.
3. El selecciona el archivo.
4. El sistema lee el archivo y muestra el contenido.
Flujos alternativos:
4. No fue posible crear el archivo. El sistema muestra el mensaje: Error al intentar abrir el archivo.
Postcondiciones:

El problema que nos plantea este caso de uso es encontrar la forma de leer el contenido del archivo para poder desplegarlo
en la pantalla. Para ello, podemos usar la clase FileInputStream, DataInputStream y BufferedReader

Constructor

FileInputStream(File file)
Crea un FileInputStream usndo el descriptor de archivos fdObj, lo que representa una
conexin existente a un archivo real en el sistema de archivos.
DataInputStream(InputStream in)
Crea una DataInputStream que utiliza el InputStream subyacente especificado.
BufferedReader(Reader in)
Crea un flujo de caracteres de entrada de bfer que utiliza un buffer de entrada de tamao predeterminado.

public class CarnetLab07ejem01 {


/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
JOptionPane.showMessageDialog(null, "Iniciaremos escribiendo un archivo.\nNombre el archivo con su nmero de
carnet");
escribirArchivo();
JOptionPane.showMessageDialog(null, "Ahora leeremos el archivo creado.\nElija el nombre del archivo recin
creado");
leerArchivo();
}

public static void leerArchivo() {


JOptionPane.showMessageDialog(null, "Ejemplo leer archivo");
//Se crea el filtro de archivos
FileNameExtensionFilter filtro = new FileNameExtensionFilter("Archivos de texto", "txt");
//El objeto Swing que mostrar la ventana para seleccionar el archivo
JFileChooser seleccionador = new JFileChooser();
seleccionador.setFileFilter(filtro);
seleccionador.setDialogTitle("Abrir");
//Muestra la ventana de dilogo
seleccionador.showOpenDialog(null);
if (seleccionador.getSelectedFile() != null) {
File nombreArchivo = seleccionador.getSelectedFile();
JOptionPane.showMessageDialog(null, "Ejemplo leer archivo");
try {
// Abrimos el archivo
FileInputStream fstream = new FileInputStream(nombreArchivo);
// Creamos el objeto de entrada
DataInputStream entrada = new DataInputStream(fstream);
// Creamos el Buffer de Lectura
BufferedReader buffer = new BufferedReader(new InputStreamReader(entrada));
String strLinea;
// Leer el archivo linea por linea
while ((strLinea = buffer.readLine()) != null) {
// Imprimimos la lnea por pantalla
System.out.println(strLinea);
}
// Cerramos el archivo
entrada.close();
} catch (Exception e) { //Catch de excepciones
System.err.println("Ocurrio un error: " + e.getMessage());
}
}
}

Ejercicios
1.
Modifique el programa de ejemplo para que las opciones de lectura (Extraer) y escritura(Nuevo) sean
accesibles desde un JFrame. El JFrame deber tener un TextField en el que se debe editar la ruta y nombre del
archivo utilizado para la opcin que corresponda y un botn para cada opcin.

Nota: puede hacer rplicas de los mtodos leerArchivo y escribirArchivo con un parmetro que contenga el
nombre de archivo a leer o escribir.
2.
Modifique el programa (jFrame) para que se agregue un TextField que permita la agregacin de lneas al
archivo de texto segn el texto que se escriba al presionar un botn(Agregar Linea) y paralelamente haga que
inserte esa lnea a una jtable3. Adems deber agregar otro botn que extraiga los datos del archivo y los ponga
en el jTable(borrando antes los datos que tenga el jTable).

Sentencias DML y DDL


Las sentencias SQL se dividen en dos categoras; Lenguaje de definicin de datos; data
definition language (DDL) y Lenguaje de manipulacin de datos ;data manipulation
language (DML).
Lenguaje de definicin de datos (DDL)
Las sentencias DDL se utilizan para crear y modificar la estructura de las tablas
as como otros objetos de la base de datos.
CREATE - para crear objetos en la base de datos.
ALTER - modifica la estructura de la base de datos.
DROP - borra objetos de la base de datos.
TRUNCATE - elimina todos los registros de la tabla, incluyendo todos los espacios
asignados a los registros.
Lenguaje de manipulacin de datos (DML)
Las sentencias de lenguaje de manipulacin de datos (DML) son utilizadas para
gestionar datos dentro de los schemas. Algunos ejemplos:
SELECT - para obtener datos de una base de datos.
INSERT - para insertar datos a una tabla.
UPDATE - para modificar datos existentes dentro de una tabla.
DELETE - elimina todos los registros de la tabla; no borra los espacios asignados
a los registros.

Creacin de Tabla y datos en Postgres SQL(pgAdmin).


Primero debemos establecer la Conexin hacia nuestra base de datos en el servidor.

Conexin al Servidor
En casa o cuando falle la conexin de red utilizaremos la conexin local.
Para entrar busque el programa pgAdmin, ir a inicio

Crear una conexin al servidor


Clic en File, Add Server

Los parmetros son como se muestran y su password es prn315 CARNET(su carnet el mayusculas)

10

Hacer un script para crear la tabla Producto


Sobre su base de datos(carnet) presione clic derecho y clic en CREATE Script

Digite el script en base a comandos DDL como se muestra:

Presione el botn de execute pgScript para que se ejecuten los comandos.


Cuando se ejecute correctamente, la tabla deber quedar alojada en el rbol de objetos de su usuario en la
ubicacin que se muestra

11

Prueba de comandos DML


INSERT (Insertar o agregar datos)

Puede insertar otros tres artculos


SELECT(Mostrar los registros)

UPDATE (Actualiza datos de el o los registros que se indiquen en Where)

Vuelva a ejecutar el SELECT para ver los cambios

12

DELETE (Eliminar los registros seleccionados)

Vuelva a ejecutar el SELECT para ver los cambios, si no agrego ms registros, deber aparecer como se muestra

Conexin Local(o Servidor Local)


Si no tiene conexin al servidor, haga una conexin nueva con los parmetros que se muestran

13

Vous aimerez peut-être aussi