Beruflich Dokumente
Kultur Dokumente
PROGRAMACIÓN III
LABORATORIO 4
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
Clase Principal…………………………………………………………………
Modificarlo………………………………………………………………………
Modificarlo………………………………………………………………………
11
15
23
25
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
CONTENIDO
1
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.
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****");}
}
}
{
//**************************************************************
******************************
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
{
if (f.delete())
JOptionPane.showMessageDialog(null,"Su cambio se
ha guardado");
else
JOptionPane.showMessageDialog(null,"Su cambio se
ha guardado");
CLASE 2
String opcion,archi,r,ruta,archivoName,capt_ruta;
int op;
InputStreamReader isr=new InputStreamReader(System.in);
BufferedReader br=new BufferedReader(isr);
//**************************************************************
*******************************
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);
}
//**************************************************************
*******************************
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:”);
out.println(“<html>”);
out.println(“<head>”);
out.println(“<title> </title>”);
out.println(“</head>”);
out.println(“<body>”);
out.println(“<h1> </h1>”);
// out.write(“<hr width=”º”>”);
10
CLASE 3
Método
del
objeto
Objeto de
modifica
tipo web de
modificar() de tipo
modifica la clase tipo
web de
de tipo
la clase
pagina
tipo de
tipo
pagina
Método
creado Creaso en
Convierte el en la la clase
objeto clase InputStream
System.in al pagina Reader de
equals() isr
objeto isr para tipo pagina
para utilizar verificar para
InputStreamReader
los métodos la obtener los
de la clase existenci caracteres
Reader que a del sueltos
puede leer archivo
caracteres Método
creado
en la
clase
pagina
para la Objeto que
verificar() verificaci es
System.in
ón de la reemplazad
existenci o por isr
a del
archivo y
la ruta
del
mismo
12
Método
del
objeto
modifica
que esta
en la Creado en
clase la clase
tipo de BufferedRe
br
tipo ader de tipo
pagina pagina
para la
encabezado() modifica
ción del
encabez
ado de la
pagina
web
Método
del
objeto
modificar Creado en
que esta el método
en la modificar en
clase la clase File
titulo() tipo de archivoab de tipo
tipo uscar pagina para
pagina realizar la
para la búsqueda
modifica del archivo
ción del deseado
BufferedReader título de
la página
web
Clase de tipo
Método
directorio
del
utilizada para
objeto
la creación
modifica
del objeto f
que esta
en la
clase
tipo de
tipo
Creado en
13
Método
del
objeto
modifica
que esta
en la
clase
articulo()
tipo de
tipo
pagina
Clase que para la
crea el objeto modifica
archivo a ción
buscar para del/los
File poder artículos
realizar la Método
búsqueda del de la
archivo clase
deseado directorio
de tipo
pagina
guarda() encargad
o de
guardar
la ruta,
nombre y
extensió
n del
mismo
14
//**************************************************************
*******************************
public String encabezado(String capt_ruta,String
archi)throws IOException
{
String tit_etiq;
FileReader arch1 = new FileReader(archi);
BufferedReader in = new BufferedReader(arch1);
JOptionPane.showMessageDialog(null,"Modifique el
Encabezado");
tit_etiq =
JOptionPane.showInputDialog("Ingrese el Nuevo Titulo del
Encabezado");
out.println("<title>"+tit_etiq+"</title>");
}
else
out.println(s);
}
in.close();
out.close();
borra.BorrarFichero(capt_ruta,archi); //se va a
borrar el archivo
return(capt_ruta);
}
//**************************************************************
*******************************
public String titulo(String capt_ruta,String archi)throws
IOException
{
String tit_pag;
FileReader arch1 = new FileReader(archi);
BufferedReader in = new BufferedReader(arch1);
JOptionPane.showMessageDialog(null,"Modifique el Titulo");
tit_pag =
JOptionPane.showInputDialog("Ingrese el Titulo de la Pagina");
out.println("<h1>"+tit_pag+"</h1>");
}
else
out.println(s);
}
in.close();
out.close();
borra.BorrarFichero(capt_ruta,archi);
return(capt_ruta);
}
//**************************************************************
*******************************
//--------------------------------------------------------------
------------------------------
18
}
//**************************************************************
*******************************
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("</body>");
if(val>=0)
{
do
{
lis =
JOptionPane.showInputDialog("Ingrese el identificador de un
articulo con numeracion");
list1 =
JOptionPane.showInputDialog("Ingrese la lista");
out.println("<li
il="+lis+">"+list1);
t =
JOptionPane.showInputDialog("Marque 'T' si va a agregar mas
parrafos");
}while(t.equals("t"));
out.println("</body>");
}
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);
}
}
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
CLASE 4
encabezado,
en otro caso
24árrafo del titulo,
párrafo y
articulo
Creado en
Clase con
la clase tipo
la que se
de tipo
realiza el Para realizar
String para
PrintWritter despliegue modif_artic() out la salida del
realizar la
del archivo archivo
modificació
modificado
n del
en pantalla
articulo
Nuevo objeto
Utilizado creado donde
Efectuá la
para las se coloca el
String readLine() lectura de la s
cadenas de nuevo
cadena
caracteres archivo
modificado
REFLEXIÓN INDIVIDUAL SOBRE EL PROYECTO
25
26
iv
CONCLUSIONES
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