Lab Oratorio 4 De Progiii

  • Uploaded by: Eufemia Buitrago
  • 0
  • 0
  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Lab Oratorio 4 De Progiii as PDF for free.

More details

  • Words: 2,710
  • Pages: 37
UNIVERSIDAD DE PANAMÁ CENTRO REGIONAL UNIVERSITARIO DE VERAGUAS FACULTAD DE INFORMÁTICA, ELECTRÓNICA Y COMUNICACIÓN ESCUELA DE INGENIERÍA EN INFORMÁTICA CARRERA: LICENCIATURA DE INGENIERÍA EN INFORMÁTICA

PROGRAMACIÓN III PROGRAMACIÓN ORIENTADA A OBJETOS

LABORATORIO 4 DIRECTORIOS, SUBDIRECTORIOS Y ARCHIVOS

PRESENTADO POR LOS ESTUDIANTES: EUFEMIA, BUITRAGO 2-719-2461 FÉLIX, RIVERA 9-727-620

PROFESOR: DIEGO SANTIMATEO

II SEMESTRE III AÑO

FECHA DE ENTREGA: JUEVES, 23 DE OCTUBRE DE 2008.

ÍNDICE INTRODUCCIÓN……………………………………………………………………….

i

OBJETIVOS……………………………………………………………………………..

ii

CONTENIDO…………………………………………………………………………….

iii

Descripción de los requisitos del programa…………………………….. 1 Código de la Clase Principal………………………………………………... 2 Descripción de las Clases, Métodos y Objetos de la Clase Principal………………………………………………………………… 4 Código de la Clase donde se crean los dos directorios………………. 5 Descripción de las Clases, Métodos y Objetos de la Clase donde se crean los dos directorios……………………………….. 6 Código donde se crea el archivo base y el código para Modificarlo……………………………………………………………………… 7 Descripción de las Clases, Métodos y Objetos de la Clase donde se crea el archivo base y el archivo para Modificarlo……………………………………………………………………… 11 Código de la Clase donde se resuelve cada caso del

menú para la Modificación del Archivo…………………………………… 15 Descripción de las Clases, Métodos y Objetos de la Clase donde se resuelve cada caso del menú y la Modificación del archivo…………………………………………………….. 23 Reflexión Personal sobre el Proyecto…………………………………….. 25 Resultados de la Ejecución del Programa……………………………….. 26 CONCLUSIONES………………………………………………………………………. iv BIBLIOGRAFÍAS………………………………………………………………………. v

i

INTRODUCCIÓN

Debido a que Java es un lenguaje rico en recursos para manejar estructuras de datos, lo cual a nivel superficial se ha podido experimentar con las diversas clases y métodos de manejo de archivos, él mismo puede a su ves almacenar y leer diferentes tipos de información de archivos tales como binarios, objetos java, texto, comprimidos, etc. Java nos ofrece la clase FILE que permite crear instancias asociadas con el nombre de un archivo, no con su contenido, facilitando el manejo de directorios y de archivos en los subdirectorios, cambiar nombres, verificar existencia de archivos, etc.

ii

OBJETIVO GENERAL



Construir una aplicación Java que verifique si el archivo se esta creando en su directorio y si el nombre del archivo no existe en el directorio.

iii

CONTENIDO

1

DESCRPCIÓN DE LOS REQUISITOS DEL PROGRAMA Se desea construir una aplicación Java, lo que significa que deben diseñarse las clases necesarias para resolver el problema, recuerde que el main() solo controla la ejecución. La aplicación debe permitir la creación de un documento HTML dentro de una carpeta que esta contenida en otra. Los nombres de los directorios y del documento deben ser capturados desde el teclado. Se debe permitir la modificación de los contenidos de los elementos titulo, p, li, h1, h2 y la posibilidad de incluir hr dentro de un párrafo, los li y los p se pueden discriminar usando un identificador id o name. No es necesario que los párrafos sean muy extensos. La aplicación debe verificar si el archivo se esta creando en un subdirectorio y si el nombre del archivo no existe en el directorio.

//CLASE PRINCIPAL - MAIN

2

import java.io.*; import javax.swing.*; class CreaWeb { public static void main(String[] args)throws IOException { String selec; int seleccion; pagina web = new pagina(); //web es un objeto que se crea en la clase pagina directorio guar = new directorio(); //guar es el objeto q se crea en la clase directorio tipo modifica = new tipo(); try{ do { selec = JOptionPane.showInputDialog(null,"Marque 1 para crear dos directorios \n Marque 2 para crear un archivo html \n Marque 3 para modificar \n Marque 4 para salir",JOptionPane.QUESTION_MESSAGE); seleccion = Integer.parseInt(selec); switch(seleccion) { case 1: guar.direct(); break; case 2: web.guarda(); break; case 3: web.modificar(); break; case 4: JOptionPane.showMessageDialog(null," Hasta Pronto"); break; default: JOptionPane.showMessageDialog(null,"Esta opcion no està disponible"); }

3

}while(seleccion!=4); } catch(Exception e){ JOptionPane.showMessageDialog(null," ****Error en la captura****");} } }

DESCRIPCIÓN DE LAS CLASES, MÉTODOS Y OBJETO DE LA CLASE class CreaWeb

4

CLASE 1 - CLASE PRINCIPAL-Main() NOMBRE DE LA CLASE: MODIFICADORES DE ACCESO: FUNCIÓN DE LA CLASE:

CLASES

CreaWeb public Clase donde se crea el menú principal con todas las funciones que va a realizar el programa, desde esta clase se llama al resto de las mismas

FUNCIÓN

MÉTODOS

pagina

Es donde se crea el objeto web

directorio

Es donde se crea el objeto guar

guarda()

tipo

Es donde se crea el objeto modifica

modificar()

direct()

FUNCIÓN

Método (invocado) del objeto web de tipo guar en la clase directorio Método (invocado) del objeto guar de tipo web en la clase directorio de tipo pagina Método (invocado) del objeto modifica de tipo web de la clase tipo de tipo pagina

//CLASE DONDE SE CREAN LOS 2 DIRECTORIOS import java.io.*; import javax.swing.*; import java.io.File; public class directorio

OBJETOS

FUNCIÓN

web

Creado en la clase pagina

guar

Creado en la clase directorio

modifica

Creado en la clase tipo

5

{ //************************************************************** ****************************** public void direct()throws IOException { String direct1,direct2; direct1 = JOptionPane.showInputDialog("Nombre de la carpeta #1:"); boolean success = (new File(direct1)).mkdirs(); JOptionPane.showMessageDialog(null,"Al crear el subdirectorio debe colocar dos slach '//'despues del primer directorio creado"); direct2 = JOptionPane.showInputDialog("Nombre de la carpeta #2:"); success = (new File(direct2)).mkdirs(); } //************************************************************** ****************************** public void BorrarFichero(String capt_ruta,String archi)throws IOException { String sFichero = (archi); File f = new File(sFichero); if (f.delete()) JOptionPane.showMessageDialog(null,"Su cambio se ha guardado"); else JOptionPane.showMessageDialog(null,"Su cambio se ha guardado"); File file = new File("1\\2\\cambio.html"); file.renameTo(new File(archi)); } } //************************************************************** ****************************** DESCRIPCIÓN DE LAS CLASES, MÉTODOS Y OBJETO DE LA

6

CLASE 2 NOMBRE DE LA CLASE: MODIFICADORES DE ACCESO: FUNCIÓN DE LA CLASE: CLASES

String

File

directorio public Clase que fue llamada desde el main() al introducir la opción 1 para la creación de los archivos

FUNCIÓN

Clase utilizada para la cadena de caracteres

Clase de tipo directorio utilizada para la creación del objeto f

MÉTODOS

FUNCIÓN

direct()

Método del objeto guar

File()

Método utilizado para realizar la creación de las carpetas

BorrarFichero()

Delete()

Método utilizado para realizar los procesos necesarios para borrar archivos Método utilizado para borrar el archivo

OBJETOS

FUNCIÓN

file

Creado en la clase File de tipo directorio para reemplazar al archivo existente con el nuevo nombre

f

Nombre que lleva el archivo que deseo borrar

//CLASE DONDE SE CREA EL ARCHIVO BASE Y EL MENU PARA MODIFICARLO import java.io.*; import javax.swing.*; public class pagina {

7

tipo modifica = new tipo(); String opcion,archi,r,ruta,archivoName,capt_ruta; int op; InputStreamReader isr=new InputStreamReader(System.in); BufferedReader br=new BufferedReader(isr); //************************************************************** ******************************* public String modificar()throws IOException { String ver=JOptionPane.showInputDialog(“Antes de modificar presine ‘v’ para verificar si el archivo a modificar existe”); if(“v”.equals(ver)) { capt_ruta=verificar(ruta,archivoName); if(r==”a”) { do { 7xtens = JoptionPane.showInputDialog(null,”Marque 1 si desea modificar el encabezado de la web…\nMarque 2 si desea modificar el titulo de la web…\nMarque 3 si desea modificar los 7xtensió de la web… \nMarque 4 si desea modificar 7xten articulo de la web…\nMarque 5 para salir”,JoptionPane.QUESTION_MESSAGE); op = Integer.parseInt(opcion); switch(op) { case 1: modifica.encabezado(capt_ruta,archi); break; case 2: modifica.titulo(capt_ruta,archi); break;

8

case 3: modifica.parrafo(capt_ruta,archi); break; case 4: modifica.articulo(capt_ruta,archi); break; case 5: break; default: JoptionPane.showMessageDialog(null,”Opcion Incorrecta”); } }while(op!=5); } } else { JoptionPane.showMessageDialog(null,”No se puede verificar si existe”); } return(ruta); }

//************************************************************** ******************************* public String verificar(String ruta,String archivoName)throws IOException { ruta = JoptionPane.showInputDialog(null, “Indique solo la ruta del archivo que va a modificar:”); archivoName = JoptionPane.showInputDialog(null, “Indique el nombre y 8xtensión del archivo que va a modificar:”);

9

archi=ruta.concat(“\\”+archivoName); // JoptionPane.showMessageDialog(null,”esta es la ruta”+ruta); File archivoabuscar = new File(archi); if(archivoabuscar.exists()) { JoptionPane.showMessageDialog(null,” El 9xtensi existe”); r=”a”; } else { JoptionPane.showMessageDialog(null,”Disculpe…El archivo ‘NO’ existe o la ruta es incorrecta\n Vuelva a intertarlo”); r=”b”; } return(ruta); } //************************************************************** ******************************* public void guarda()throws IOException { String resul; JoptionPane.showMessageDialog(null,”Recuerde que la 9xtensión del archivo es .html”); resul=JoptionPane.showInputDialog(“Indique la ruta, luego el nombre y 9xtensión del archivo a guardar:”); File salida = new File(resul); PrintWriter out = new PrintWriter(salida);

//

out.println(“”); out.println(“”); out.println(“ ”); out.println(“”); out.println(“”); out.println(“

”); out.write(“
”);

10

out.println(“

”); out.println(“”); out.close(); JoptionPane.showMessageDialog(null,” La estructura de la Web ha sido creada”); } }

DESCRIPCIÓN DE LAS CLASES, MÉTODOS Y OBJETO DE LA CLASE 3 NOMBRE DE LA CLASE: MODIFICADORES DE ACCESO: FUNCIÓN DE LA CLASE: CLASES

Pagina public Clase que fue llamada desde el main() al introducir la opción 2 para la creación del archivo base y el menú para modificarlo FUNCIÓN

MÉTODOS

FUNCIÓN

OBJETOS

FUNCIÓN

11

modificar()

InputStreamReader

Convierte el objeto System.in al objeto isr para utilizar los métodos de la clase Reader que puede leer caracteres

equals()

verificar()

Método del objeto modifica de tipo web de la clase tipo de tipo pagina Método creado en la clase pagina para verificar la existenci a del archivo Método creado en la clase pagina para la verificaci ón de la existenci a del archivo y la ruta del mismo

modifica

Objeto de tipo web de la clase tipo de tipo pagina

isr

Creaso en la clase InputStream Reader de tipo pagina para obtener los caracteres sueltos

System.in

Objeto que es reemplazad o por isr

12

encabezado()

titulo()

BufferedReader Clase de tipo directorio utilizada para la creación del objeto f

Método del objeto modifica que esta en la clase tipo de tipo pagina para la modifica ción del encabez ado de la pagina web Método del objeto modificar que esta en la clase tipo de tipo pagina para la modifica ción del título de la página web Método del objeto modifica que esta en la clase tipo de tipo

br

archivoab uscar

Creado en la clase BufferedRe ader de tipo pagina

Creado en el método modificar en la clase File de tipo pagina para realizar la búsqueda del archivo deseado

Creado en

13

articulo()

File

Clase que crea el objeto archivo a buscar para poder realizar la búsqueda del archivo deseado

guarda()

Método del objeto modifica que esta en la clase tipo de tipo pagina para la modifica ción del/los artículos Método de la clase directorio de tipo pagina encargad o de guardar la ruta, nombre y extensió n del mismo

14

//CLASE DONDE SE RESULVE CADA CASO DEL MENU PARA LA MODIFICACION DEL ARCHIVO import java.io.*; import java.util.*; import javax.swing.*; public class tipo { String div_parraf,archi,co,conca,modif,id; InputStreamReader isr=new InputStreamReader(System.in); BufferedReader br=new BufferedReader(isr); directorio borra = new directorio(); //************************************************************** ******************************* public String encabezado(String capt_ruta,String archi)throws IOException { String tit_etiq; FileReader arch1 = new FileReader(archi); BufferedReader in = new BufferedReader(arch1); File salida = new File("1\\2\\cambio.html"); PrintWriter out = new PrintWriter(salida);

15

String s = new String(); while((s = in.readLine())!= null)

//lectura del

archivo { int val = s.indexOf(""); if(val>=0) { JOptionPane.showMessageDialog(null,"Modifique el Encabezado"); tit_etiq = JOptionPane.showInputDialog("Ingrese el Nuevo Titulo del Encabezado"); out.println("<title>"+tit_etiq+""); } else out.println(s); } in.close(); out.close(); borra.BorrarFichero(capt_ruta,archi); borrar el archivo return(capt_ruta); }

//se va a

//************************************************************** ******************************* public String titulo(String capt_ruta,String archi)throws IOException { String tit_pag; FileReader arch1 = new FileReader(archi); BufferedReader in = new BufferedReader(arch1); File salida = new File("1\\2\\cambio.html"); PrintWriter out = new PrintWriter(salida);

16

String s = new String(); while((s = in.readLine())!= null) { int val = s.indexOf("

"); if(val>=0) { JOptionPane.showMessageDialog(null,"Modifique el Titulo"); tit_pag = JOptionPane.showInputDialog("Ingrese el Titulo de la Pagina"); out.println("

"+tit_pag+"

"); } else out.println(s); } in.close(); out.close(); borra.BorrarFichero(capt_ruta,archi); return(capt_ruta); } //************************************************************** ******************************* public String parrafo(String capt_ruta,String archi)throws IOException { String contenido,op_parra,t; FileReader arch1 = new FileReader(archi); BufferedReader in = new BufferedReader(arch1); File salida = new File("1\\2\\cambio.html"); PrintWriter out = new PrintWriter(salida); String s = new String(); JOptionPane.showMessageDialog(null,"Modifique Parrafo");

17

op_parra = JOptionPane.showInputDialog("Marque 'w' si desea agregar parrafo...\nMarque 'e' si desea modificar algun parrafo..."); if(op_parra.equals("w")) { while((s = in.readLine())!= null) { int val = s.indexOf(""); if(val>=0) { out.println(s); do { id = JOptionPane.showInputDialog("Ingrese el identificador con enumeracion"); contenido = JOptionPane.showInputDialog("Ingrese el contenido informativo de la web"); out.println("

"+contenido+"

"); t = JOptionPane.showInputDialog("Marque 'T' si va a agregar mas parrafos"); }while(t.equals("t")); } else out.println(s); } } else modif_parra(capt_ruta,archi); in.close(); out.close(); borra.BorrarFichero(capt_ruta,archi); return(capt_ruta); } //-------------------------------------------------------------------------------------------

18

public String modif_parra(String capt_ruta,String archi)throws IOException { FileReader arch1 = new FileReader(archi); BufferedReader in = new BufferedReader(arch1); File salida = new File("1\\2\\cambio.html"); PrintWriter out = new PrintWriter(salida); String real = JOptionPane.showInputDialog("Si realmente desea modificar un parrafo marque 'D'..."); if(real.equals("d")) { modif = JOptionPane.showInputDialog("Ingrese el identificador del parrafo a modificar"); String s = new String(); while((s = in.readLine())!= null) { int val = s.indexOf("

"+cambia_contenido+"

"); } else out.println(s); } } else { String y = new String(); while((y = in.readLine())!= null) out.println(y); } in.close(); out.close(); borra.BorrarFichero(capt_ruta,archi); return(capt_ruta);

19

} //************************************************************** ******************************* public String articulo(String capt_ruta,String archi)throws IOException { String lis,list1,t,op_art; FileReader arch1 = new FileReader(archi); BufferedReader in = new BufferedReader(arch1); File salida = new File("1\\2\\cambio.html"); PrintWriter out = new PrintWriter(salida); JOptionPane.showMessageDialog(null,"Modifique los Articulos"); String s = new String(); op_art = JOptionPane.showInputDialog("Marque 'w' si desea agregar articulos...\nMarque 'e' si desea modificar algun articulo..."); if(op_art.equals("w")) { while((s = in.readLine())!= null) { int val = s.indexOf(""); if(val>=0) { do { lis = JOptionPane.showInputDialog("Ingrese el identificador de un articulo con numeracion"); list1 = JOptionPane.showInputDialog("Ingrese la lista"); out.println("
  • "+list1); t = JOptionPane.showInputDialog("Marque 'T' si va a agregar mas parrafos"); }while(t.equals("t")); out.println(""); }

    20

    else out.println(s); } } else modif_artic(capt_ruta,archi); in.close(); out.close(); borra.BorrarFichero(capt_ruta,archi); return(capt_ruta); } //------------------------------------------------------------------------------------------public String modif_artic(String capt_ruta,String archi)throws IOException { FileReader arch1 = new FileReader(archi); BufferedReader in = new BufferedReader(arch1); File salida = new File("1\\2\\cambio.html"); PrintWriter out = new PrintWriter(salida); String real = JOptionPane.showInputDialog("Si realmente desea modificar un articulo marque 'D'..."); if(real.equals("d")) { modif = JOptionPane.showInputDialog("Ingrese el identificador del articulos que va a modificar"); String s = new String(); while((s = in.readLine())!= null) { int val = s.indexOf("
  • "); if(val>=0) { String cambia_artic = JOptionPane.showInputDialog("Cambie el articulo de la web"); out.println("
  • "+cambia_artic); } else out.println(s);

    21

    } } else { String f = new String(); while((f = in.readLine())!= null) out.println(f); } in.close(); out.close(); borra.BorrarFichero(capt_ruta,archi); return(capt_ruta); } } //************************************************************** *******************************

    22

    DESCRIPCIÓN DE LAS CLASES, MÉTODOS Y OBJETO DE LA CLASE 4 NOMBRE DE LA CLASE: MODIFICADORES DE ACCESO: FUNCIÓN DE LA CLASE:

    tipo public Clase llamada desde el main() al introducir la opción 3 donde se resuelve cada caso del menú para la modificación del archivo

    CLASES

    FUNCIÓN

    InputStreamReader

    Convierte el objeto System.in a isr para utilizar los métodos de la clase Reader que puede leer caracteres

    MÉTODOS

    FUNCIÓN

    encabezado()

    Utilizado en la clase tipo de tipo String para realizar la modificació n del encabezado de la página web

    OBJETOS

    FUNCIÓN

    isr

    Creado en la clase InputStream Reader de tipo tipo para darnos los caracteres sueltos

    23

    BufferedReader

    FileReader

    File

    Clase cuyo contructor toma el objeto isr de la clase InputStream Reader para capturar toda la línea. En otro caso toma el objeto arch1 de la clase FileReader para capturar toda la línea del encabezado , titulo, párrafo y articulo

    Clase con la que se pasa a archivo

    Clase de tipo tipo con la cual se realizan los cambios del archivo

    titulo()

    Utilizado en la clase tipo de tipo String para realizar la modificació n del tituto de la página web

    parrafo()

    Utilizado en la clase tipo de tipo String para realizar la modificació n del parrafo de la página web

    articulo()

    Utilizado en la clase tipo de tipo String para realizar la modificació n del articulo de la página web

    modif_parra()

    Creado en la clase tipo de tipo String para realizar la modificació n del

    br

    Creado en la clase BufferedRead er de tipo tipo para capturar toda la línea

    borra

    Creado en la clase directorio de tipo tipo para indicar el archivo que se desea borrar

    salida

    arch1

    Creado en la clase File de tipo tipo para guardar el cambio realizado al encabezado, en otro caso al titulo, párrafo y al articulo Creado en la clase FileReader de tipo tipo para capturar toda la línea del

    24

    PrintWritter

    String

    Clase con la que se realiza el despliegue del archivo modificado en pantalla Utilizado para las cadenas de caracteres

    modif_artic()

    readLine()

    24árrafo

    encabezado, en otro caso del titulo, párrafo y articulo

    Creado en la clase tipo de tipo String para realizar la modificació n del articulo

    out

    Para realizar la salida del archivo

    s

    Nuevo objeto creado donde se coloca el nuevo archivo modificado

    Efectuá la lectura de la cadena

    REFLEXIÓN INDIVIDUAL SOBRE EL PROYECTO

    25

    26

    iv

    CONCLUSIONES



    Reforzamos nuestros conocimientos del Diseño Orientado a Objetos y los pasos que el mismo lleva.



    Aprendimos a trabajar con diagramas UML y sus etapas y requerimientos.



    Reforzamos nuestro conocimiento sobre un Inventario y sus características.



    Conocimos como trabajaría un Sistema de Inventario dentro de una empresa.



    Realizamos eficientemente una entrevista lo cual nos ayudo a aclarar muchas dudas.

    v

    BIBLIOGRAFÍAS 1. http://www.programacion.com/html/tutorial/curso 2. http://www.cogeco.ca/-ve311/jatutor9.html 3. http://www.exampledepot.com/egs/java.io/pkg.html 5. http://www.home.cogeco.ca/-ve311/jatutor7.html 6. http://java.sun.com/docs/books/tutorial/java/data/manipstrings.html 7. http://www.wikilearning.com/tutorial/tutorial_de_java-la_clase_stringbuffer/3938-62

  • Related Documents

    Lab Oratorio 4 De Progiii
    November 2019 20
    Lab Oratorio 6 De Progiii
    November 2019 26
    Lab Oratorio Semana 4
    November 2019 22
    Lab Oratorio 4
    December 2019 9
    Lab Oratorio #4
    October 2019 13
    Guia Lab Oratorio 4
    November 2019 10

    More Documents from ""

    Laboratorio # 2
    October 2019 23
    Lab Oratorio 4 De Progiii
    November 2019 20
    Proyecto Final Listo1
    November 2019 20
    Asignacion1 De Progiii
    November 2019 18
    Lab Oratorio 6 De Progiii
    November 2019 26
    Laboratorio 5 De Progiii
    November 2019 19