SlideShare una empresa de Scribd logo
1 de 26
Unidad 4: Manejo de
archivos y seguimiento del
proyecto
Autor(es):
Ciencias de la Ingeniería
Carrera de Sistemas
Programación Orientada a Objetos
Mg. Luis Fernando Aguas Bucheli
+593 984015184
@Aguaszoft
Laguas@uisrael.edu.ec
Aguaszoft@Outlook.es
“Ser grande en las cosas pequeñas, ser
noble y heroica en los detalles insípidos
de la vida cotidiana, es una virtud tan
rara como ser digna de canonización.”
(Anónimo)
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Programación Orientada a Objetos
Resultado de Aprendizaje
• Analizar metodologías y herramientas tecnológicas, que
mejor se ajusten a las necesidades de las organizaciones.
Contenidos
• Introducción
• Objetivos
• Desarrollo de Contenidos
• Conclusiones
• Bibliografía
Objetivos
• Adquirir los conceptos básicos relacionados con el manejo de
archivos
• Reconocer las características del manejo de archivos
4.1. Genéricos
Flujos de entrada
Flujos de salida
Otras clases de java.io
• File
o Nos ayuda a especificar nombres de archivos y
directorios, además nos da métodos para
averiguar información acerca de un archivo como
su path completo, o si tiene permisos de escritura,
etc.
• FileDescriptor
o El equivalente a una manija de bajo nivel para un
archivo o socket
java.awt.FileDialog
• Despliega una ventana del sistema para que
el usuario seleccione un archivo
• Debe de pertenecer a un Frame
• Es una ventana modal, es decir cuando se le
da show() bloquea el resto de la aplicación
hasta que el usuario seleccione un archivo o
cancele la operación
FileDialog
FileDialog
• show()
o Hace la ventana de FileDialog visible y bloquea la
ejecución de la aplicación hasta que se seleccione un
archivo
• setMode(int)
o Establece si la ventana de FileDialog es para leer
un archivo (LOAD) o para escribir un archivo (SAVE)
FileDialog
• getFile()
o Regresa como String el archivo seleccionado
• getDirectory()
o Regresa como String el directorio al cual pertenece
el archivo seleccionado
• En caso de no haber seleccionado ningún
archivo ambos regresan null
Ejemplo
public class Archivo1 extends Frame implements ActionListener{
static Archivo1 f;
Button boton = new Button("Abrir");
TextArea despliega = new TextArea();
FileDialog dialogo = new FileDialog(this);
Image figura;
String nombreArchivo, nombreDirectorio;
File archivo;
public Archivo1(){
super();
setTitle("Archivero");
setSize(200,200);
setLocation(300,300);
figura = Toolkit.getDefaultToolkit().getImage("canino.gif");
setIconImage(figura);
add(despliega,"Center");
add(boton,"South");
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
f.dispose();
System.exit(0);
}});
boton.addActionListener(this);
pack();
show();
}
Ejemplo
public void actionPerformed(ActionEvent e){
Button b = (Button) e.getSource();
if(boton.getLabel()=="Abrir"){
dialogo.setMode(FileDialog.LOAD);
dialogo.show();
nombreArchivo = dialogo.getFile();
nombreDirectorio = dialogo.getDirectory();
if (nombreDirectorio!=null && nombreArchivo!= null){
archivo = new File(nombreDirectorio,nombreArchivo);
despliegaArchivo(archivo);
boton.setLabel("Guardar");
}
}else{
dialogo.setMode(dialogo.SAVE);
dialogo.setFile(nombreArchivo);
dialogo.setDirectory(nombreDirectorio);
dialogo.show();
nombreArchivo = dialogo.getFile();
nombreDirectorio = dialogo.getDirectory();
if (nombreDirectorio!=null && nombreArchivo!= null){
archivo = new File(nombreDirectorio,nombreArchivo);
guardaArchivo(archivo);
}
boton.setLabel("Abrir");
}
}
Ejemplo
Ejemplo
public void despliegaArchivo(File f){
FileReader archivo;
BufferedReader filtrado;
despliega.setText("");
try{
archivo = new FileReader(f);
filtrado = new BufferedReader(archivo);
String linea;
while ((linea = filtrado.readLine()) != null)
despliega.append(linea+"n");
archivo.close();
filtrado.close();
}catch(FileNotFoundException e){
despliega.append(e.getMessage());
}catch(IOException e){
despliega.append(e.getMessage());
}
}
Ejemplo
public void guardaArchivo(File f){
FileWriter archivo;
BufferedWriter filtrado;
String contenido="nada";
try{
archivo = new FileWriter(f);
filtrado = new BufferedWriter(archivo);
contenido = despliega.getText();
filtrado.write(contenido,0,contenido.length());
filtrado.flush();
archivo.close();
filtrado.close();
}catch(FileNotFoundException e){
despliega.append(e.getMessage());
}catch(IOException e){
despliega.append(e.getMessage());
}
despliega.setText("");
}
Métodos de File
Ejemplo
public void despliegaPropiedades(File f){
despliega.setText("Propiedades del Archivo: "+f.getName()+"n");
despliega.append("canRead()>> "+String.valueOf(f.canRead())+"n");
despliega.append("canWrite()>> "+String.valueOf(f.canWrite())+"n");
despliega.append("exists()>> "+String.valueOf(f.exists())+"n");
despliega.append("getAbsolutePath()>> "+f.getAbsolutePath()+"n");
despliega.append("getPath()>> "+f.getPath()+"n");
despliega.append("length()>> "+String.valueOf(f.length())+"n");
}
public class Archivo2 extends Frame implements ActionListener{
System.out.println()
• out variable de la clase System del
paquete lang
• out variable de tipo PrintStream
• La clase PrintStream tiene una serie de
métodos print y println para poder
escribir una representación legible para
cada tipo de dato primitivo en Java
• No arroja excepciones
PrintStream desaprobado
• PrintStream ya está desaprobado
(deprecated)
• Es recomendable utilizar PrintWriter
• Asi se tiene el soporte para escribir carácteres
Unicode
• Los métodos de PrintStream eliminan la
parte alta de los carácteres para transformarlos
en código Ascii de 8 bits
Leyendo del teclado
• Utilizaremos InputStreamReader para
poder leer Unicode
• InputStreamReader transforma los bytes
leidos en carácteres Unicode
• Envolveremos al InputStreamReader en
un BufferedReader por eficiencia
Ejemploimport java.io.*;
public class Teclado {
public static void main(String[] args){
String linea="";
InputStreamReader entrada = new InputStreamReader(System.in);
BufferedReader teclado = new BufferedReader(entrada);
System.out.println("Teclea líneas de texto");
System.out.println("Teclea q y <enter> para terminar");
try{
while(linea.compareTo("q")!=0){
linea = teclado.readLine();
System.out.println(">> "+linea);
}
}catch(IOException e){
System.out.println(e.getMessage());
}
System.out.println("Fin del Programa");
try{
teclado.close();
entrada.close();
}catch(IOException e){
System.out.println(e.getMessage());
}
}
}
Referencias
Bibliográficas
• LEOBARDO, L. (2006). METODOLOGÍA DE
LA PROGRAMACIÓN ORIENTADA A
OBJETOS, México, Alfaomega.
• LOPEZ, J., ALBERCA G. (2009): GUÍA DE
FUNDAMENTOS DE LA PROGRAMACIÓN,
Loja – Ecuador, UTPL
Gracias
Mg. Luis Fernando Aguas Bucheli
+593 984015184
@Aguaszoft
Laguas@uisrael.edu.ec
Aguaszoft@Outlook.es

Más contenido relacionado

La actualidad más candente

La actualidad más candente (8)

4. acceso a datos
4. acceso a datos4. acceso a datos
4. acceso a datos
 
Archivos aleatorios en java
Archivos aleatorios en javaArchivos aleatorios en java
Archivos aleatorios en java
 
Manejo de archivos en java
Manejo de archivos en javaManejo de archivos en java
Manejo de archivos en java
 
Apunte6
Apunte6Apunte6
Apunte6
 
Archivos
ArchivosArchivos
Archivos
 
Ficheros de cabecera
Ficheros de cabeceraFicheros de cabecera
Ficheros de cabecera
 
Gestion de archivos
Gestion de archivosGestion de archivos
Gestion de archivos
 
Archivos Java
Archivos JavaArchivos Java
Archivos Java
 

Similar a 14-Unidad 4: Manejo de archivos y seguimiento del proyecto

Similar a 14-Unidad 4: Manejo de archivos y seguimiento del proyecto (20)

Lab6-POO
Lab6-POOLab6-POO
Lab6-POO
 
Grupo nro4ficheros
Grupo nro4ficherosGrupo nro4ficheros
Grupo nro4ficheros
 
Ficheros en Java marisabc
Ficheros en Java marisabcFicheros en Java marisabc
Ficheros en Java marisabc
 
Archivos
ArchivosArchivos
Archivos
 
Tema1oficial
Tema1oficialTema1oficial
Tema1oficial
 
Manejo de archivos en java
Manejo de archivos en javaManejo de archivos en java
Manejo de archivos en java
 
Manejo de archivos en java
Manejo de archivos en javaManejo de archivos en java
Manejo de archivos en java
 
Manejo+de+archivos+en+java
Manejo+de+archivos+en+javaManejo+de+archivos+en+java
Manejo+de+archivos+en+java
 
Unidad 3 ficheros
Unidad 3 ficherosUnidad 3 ficheros
Unidad 3 ficheros
 
Framework .NET 3.5 14 Gestión de archivos y serialización
Framework .NET 3.5 14  Gestión de archivos y serializaciónFramework .NET 3.5 14  Gestión de archivos y serialización
Framework .NET 3.5 14 Gestión de archivos y serialización
 
Tutorial de eclipse_yamary(2)
Tutorial de eclipse_yamary(2)Tutorial de eclipse_yamary(2)
Tutorial de eclipse_yamary(2)
 
Guía de aprendizaje de sistema de archivos nº 1
Guía de aprendizaje de sistema de archivos nº 1Guía de aprendizaje de sistema de archivos nº 1
Guía de aprendizaje de sistema de archivos nº 1
 
2 7 ficheros_php
2 7 ficheros_php2 7 ficheros_php
2 7 ficheros_php
 
Curso scjp 30 navegacion de archivos e io
Curso scjp 30   navegacion de archivos e ioCurso scjp 30   navegacion de archivos e io
Curso scjp 30 navegacion de archivos e io
 
Prog_II_archivo_guia_5
Prog_II_archivo_guia_5Prog_II_archivo_guia_5
Prog_II_archivo_guia_5
 
Bryan gordillo ensayo_ficheros
Bryan gordillo ensayo_ficherosBryan gordillo ensayo_ficheros
Bryan gordillo ensayo_ficheros
 
7 manejo de archivos
7 manejo de archivos7 manejo de archivos
7 manejo de archivos
 
Clase
ClaseClase
Clase
 
Ensayo (Gestion de Archivos)
Ensayo (Gestion de Archivos)Ensayo (Gestion de Archivos)
Ensayo (Gestion de Archivos)
 
Temas programacion java_3
Temas programacion java_3Temas programacion java_3
Temas programacion java_3
 

Más de Luis Fernando Aguas Bucheli (20)

EFC-ISW-Luis Fernando Aguas.pptx
EFC-ISW-Luis Fernando Aguas.pptxEFC-ISW-Luis Fernando Aguas.pptx
EFC-ISW-Luis Fernando Aguas.pptx
 
P-S2.pptx
P-S2.pptxP-S2.pptx
P-S2.pptx
 
EBTS-S1.pptx
EBTS-S1.pptxEBTS-S1.pptx
EBTS-S1.pptx
 
P-S3.pptx
P-S3.pptxP-S3.pptx
P-S3.pptx
 
EBTS-S4.pptx
EBTS-S4.pptxEBTS-S4.pptx
EBTS-S4.pptx
 
P-S4.pptx
P-S4.pptxP-S4.pptx
P-S4.pptx
 
P-S1.pptx
P-S1.pptxP-S1.pptx
P-S1.pptx
 
EBTS-S3.pptx
EBTS-S3.pptxEBTS-S3.pptx
EBTS-S3.pptx
 
EBTS-S2.pptx
EBTS-S2.pptxEBTS-S2.pptx
EBTS-S2.pptx
 
PDIDTI-S7.pptx
PDIDTI-S7.pptxPDIDTI-S7.pptx
PDIDTI-S7.pptx
 
PDIDTI-S4.pptx
PDIDTI-S4.pptxPDIDTI-S4.pptx
PDIDTI-S4.pptx
 
PDIDTI-S2.pptx
PDIDTI-S2.pptxPDIDTI-S2.pptx
PDIDTI-S2.pptx
 
PDIDTI-S1.pptx
PDIDTI-S1.pptxPDIDTI-S1.pptx
PDIDTI-S1.pptx
 
PDIDTI-S8.pptx
PDIDTI-S8.pptxPDIDTI-S8.pptx
PDIDTI-S8.pptx
 
PDIDTI-S6.pptx
PDIDTI-S6.pptxPDIDTI-S6.pptx
PDIDTI-S6.pptx
 
PDIDTI-S5.pptx
PDIDTI-S5.pptxPDIDTI-S5.pptx
PDIDTI-S5.pptx
 
PDIDTI-S3.pptx
PDIDTI-S3.pptxPDIDTI-S3.pptx
PDIDTI-S3.pptx
 
TIC-S4.pptx
TIC-S4.pptxTIC-S4.pptx
TIC-S4.pptx
 
TIC-S3.pptx
TIC-S3.pptxTIC-S3.pptx
TIC-S3.pptx
 
TIC-S2.pptx
TIC-S2.pptxTIC-S2.pptx
TIC-S2.pptx
 

Último

SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONAL
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONALSESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONAL
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONALEdwinC23
 
Arquitecto cambio de uso de suelo Limache
Arquitecto cambio de uso de suelo LimacheArquitecto cambio de uso de suelo Limache
Arquitecto cambio de uso de suelo LimacheJuan Luis Menares
 
Presentación Instrumentos de Medicion Electricos.pptx
Presentación Instrumentos de Medicion Electricos.pptxPresentación Instrumentos de Medicion Electricos.pptx
Presentación Instrumentos de Medicion Electricos.pptxwilliam801689
 
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATINSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATevercoyla
 
docsity-manzaneo-y-lotizacion para habilitacopm urbana
docsity-manzaneo-y-lotizacion para habilitacopm urbanadocsity-manzaneo-y-lotizacion para habilitacopm urbana
docsity-manzaneo-y-lotizacion para habilitacopm urbanaArnolVillalobos
 
3.6.2 Lab - Implement VLANs and Trunking - ILM.pdf
3.6.2 Lab - Implement VLANs and Trunking - ILM.pdf3.6.2 Lab - Implement VLANs and Trunking - ILM.pdf
3.6.2 Lab - Implement VLANs and Trunking - ILM.pdfGustavoAdolfoDiaz3
 
portafolio final manco 2 1816827 portafolio de evidencias
portafolio final manco 2 1816827 portafolio de evidenciasportafolio final manco 2 1816827 portafolio de evidencias
portafolio final manco 2 1816827 portafolio de evidenciasIANMIKELMIRANDAGONZA
 
Estadística Anual y Multianual del Sector Eléctrico Ecuatoriano
Estadística Anual y Multianual del Sector Eléctrico EcuatorianoEstadística Anual y Multianual del Sector Eléctrico Ecuatoriano
Estadística Anual y Multianual del Sector Eléctrico EcuatorianoEduardoBriones22
 
3er Informe Laboratorio Quimica General (2) (1).pdf
3er Informe Laboratorio Quimica General  (2) (1).pdf3er Informe Laboratorio Quimica General  (2) (1).pdf
3er Informe Laboratorio Quimica General (2) (1).pdfSantiagoRodriguez598818
 
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVOESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVOeldermishti
 
1. Equipos Primarios de una Subestaciones electricas
1. Equipos Primarios de una Subestaciones electricas1. Equipos Primarios de una Subestaciones electricas
1. Equipos Primarios de una Subestaciones electricasurAN077
 
2. Cristaloquimica. ingenieria geologica
2. Cristaloquimica. ingenieria geologica2. Cristaloquimica. ingenieria geologica
2. Cristaloquimica. ingenieria geologicaJUDITHYEMELINHUARIPA
 
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.pptTippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.pptNombre Apellidos
 
entropia y neguentropia en la teoria general de sistemas
entropia y neguentropia en la teoria general de sistemasentropia y neguentropia en la teoria general de sistemas
entropia y neguentropia en la teoria general de sistemasDerlyValeriaRodrigue
 
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheAportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheElisaLen4
 
Cereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. CerealesCereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. Cerealescarlosjuliogermanari1
 
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTAPORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTElisaLen4
 
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALESCAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALESJHONJAIROVENTURASAUC
 
Determinación de espacios en la instalación
Determinación de espacios en la instalaciónDeterminación de espacios en la instalación
Determinación de espacios en la instalaciónQualityAdviceService
 
Aportes a la Arquitectura de Le Corbusier y Mies Van Der Rohe.pdf
Aportes a la Arquitectura de Le Corbusier y Mies Van Der Rohe.pdfAportes a la Arquitectura de Le Corbusier y Mies Van Der Rohe.pdf
Aportes a la Arquitectura de Le Corbusier y Mies Van Der Rohe.pdfElisaLen4
 

Último (20)

SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONAL
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONALSESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONAL
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONAL
 
Arquitecto cambio de uso de suelo Limache
Arquitecto cambio de uso de suelo LimacheArquitecto cambio de uso de suelo Limache
Arquitecto cambio de uso de suelo Limache
 
Presentación Instrumentos de Medicion Electricos.pptx
Presentación Instrumentos de Medicion Electricos.pptxPresentación Instrumentos de Medicion Electricos.pptx
Presentación Instrumentos de Medicion Electricos.pptx
 
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATINSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
 
docsity-manzaneo-y-lotizacion para habilitacopm urbana
docsity-manzaneo-y-lotizacion para habilitacopm urbanadocsity-manzaneo-y-lotizacion para habilitacopm urbana
docsity-manzaneo-y-lotizacion para habilitacopm urbana
 
3.6.2 Lab - Implement VLANs and Trunking - ILM.pdf
3.6.2 Lab - Implement VLANs and Trunking - ILM.pdf3.6.2 Lab - Implement VLANs and Trunking - ILM.pdf
3.6.2 Lab - Implement VLANs and Trunking - ILM.pdf
 
portafolio final manco 2 1816827 portafolio de evidencias
portafolio final manco 2 1816827 portafolio de evidenciasportafolio final manco 2 1816827 portafolio de evidencias
portafolio final manco 2 1816827 portafolio de evidencias
 
Estadística Anual y Multianual del Sector Eléctrico Ecuatoriano
Estadística Anual y Multianual del Sector Eléctrico EcuatorianoEstadística Anual y Multianual del Sector Eléctrico Ecuatoriano
Estadística Anual y Multianual del Sector Eléctrico Ecuatoriano
 
3er Informe Laboratorio Quimica General (2) (1).pdf
3er Informe Laboratorio Quimica General  (2) (1).pdf3er Informe Laboratorio Quimica General  (2) (1).pdf
3er Informe Laboratorio Quimica General (2) (1).pdf
 
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVOESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
 
1. Equipos Primarios de una Subestaciones electricas
1. Equipos Primarios de una Subestaciones electricas1. Equipos Primarios de una Subestaciones electricas
1. Equipos Primarios de una Subestaciones electricas
 
2. Cristaloquimica. ingenieria geologica
2. Cristaloquimica. ingenieria geologica2. Cristaloquimica. ingenieria geologica
2. Cristaloquimica. ingenieria geologica
 
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.pptTippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
 
entropia y neguentropia en la teoria general de sistemas
entropia y neguentropia en la teoria general de sistemasentropia y neguentropia en la teoria general de sistemas
entropia y neguentropia en la teoria general de sistemas
 
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheAportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
 
Cereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. CerealesCereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. Cereales
 
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTAPORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
 
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALESCAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
 
Determinación de espacios en la instalación
Determinación de espacios en la instalaciónDeterminación de espacios en la instalación
Determinación de espacios en la instalación
 
Aportes a la Arquitectura de Le Corbusier y Mies Van Der Rohe.pdf
Aportes a la Arquitectura de Le Corbusier y Mies Van Der Rohe.pdfAportes a la Arquitectura de Le Corbusier y Mies Van Der Rohe.pdf
Aportes a la Arquitectura de Le Corbusier y Mies Van Der Rohe.pdf
 

14-Unidad 4: Manejo de archivos y seguimiento del proyecto

  • 1. Unidad 4: Manejo de archivos y seguimiento del proyecto Autor(es): Ciencias de la Ingeniería Carrera de Sistemas Programación Orientada a Objetos Mg. Luis Fernando Aguas Bucheli +593 984015184 @Aguaszoft Laguas@uisrael.edu.ec Aguaszoft@Outlook.es
  • 2. “Ser grande en las cosas pequeñas, ser noble y heroica en los detalles insípidos de la vida cotidiana, es una virtud tan rara como ser digna de canonización.” (Anónimo) Ciencias de la Ingeniería Carrera de Sistemas de Información Programación Orientada a Objetos
  • 3. Resultado de Aprendizaje • Analizar metodologías y herramientas tecnológicas, que mejor se ajusten a las necesidades de las organizaciones.
  • 4. Contenidos • Introducción • Objetivos • Desarrollo de Contenidos • Conclusiones • Bibliografía
  • 5. Objetivos • Adquirir los conceptos básicos relacionados con el manejo de archivos • Reconocer las características del manejo de archivos
  • 9. Otras clases de java.io • File o Nos ayuda a especificar nombres de archivos y directorios, además nos da métodos para averiguar información acerca de un archivo como su path completo, o si tiene permisos de escritura, etc. • FileDescriptor o El equivalente a una manija de bajo nivel para un archivo o socket
  • 10. java.awt.FileDialog • Despliega una ventana del sistema para que el usuario seleccione un archivo • Debe de pertenecer a un Frame • Es una ventana modal, es decir cuando se le da show() bloquea el resto de la aplicación hasta que el usuario seleccione un archivo o cancele la operación
  • 12. FileDialog • show() o Hace la ventana de FileDialog visible y bloquea la ejecución de la aplicación hasta que se seleccione un archivo • setMode(int) o Establece si la ventana de FileDialog es para leer un archivo (LOAD) o para escribir un archivo (SAVE)
  • 13. FileDialog • getFile() o Regresa como String el archivo seleccionado • getDirectory() o Regresa como String el directorio al cual pertenece el archivo seleccionado • En caso de no haber seleccionado ningún archivo ambos regresan null
  • 14. Ejemplo public class Archivo1 extends Frame implements ActionListener{ static Archivo1 f; Button boton = new Button("Abrir"); TextArea despliega = new TextArea(); FileDialog dialogo = new FileDialog(this); Image figura; String nombreArchivo, nombreDirectorio; File archivo; public Archivo1(){ super(); setTitle("Archivero"); setSize(200,200); setLocation(300,300); figura = Toolkit.getDefaultToolkit().getImage("canino.gif"); setIconImage(figura); add(despliega,"Center"); add(boton,"South"); addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ f.dispose(); System.exit(0); }}); boton.addActionListener(this); pack(); show(); }
  • 15. Ejemplo public void actionPerformed(ActionEvent e){ Button b = (Button) e.getSource(); if(boton.getLabel()=="Abrir"){ dialogo.setMode(FileDialog.LOAD); dialogo.show(); nombreArchivo = dialogo.getFile(); nombreDirectorio = dialogo.getDirectory(); if (nombreDirectorio!=null && nombreArchivo!= null){ archivo = new File(nombreDirectorio,nombreArchivo); despliegaArchivo(archivo); boton.setLabel("Guardar"); } }else{ dialogo.setMode(dialogo.SAVE); dialogo.setFile(nombreArchivo); dialogo.setDirectory(nombreDirectorio); dialogo.show(); nombreArchivo = dialogo.getFile(); nombreDirectorio = dialogo.getDirectory(); if (nombreDirectorio!=null && nombreArchivo!= null){ archivo = new File(nombreDirectorio,nombreArchivo); guardaArchivo(archivo); } boton.setLabel("Abrir"); } }
  • 17. Ejemplo public void despliegaArchivo(File f){ FileReader archivo; BufferedReader filtrado; despliega.setText(""); try{ archivo = new FileReader(f); filtrado = new BufferedReader(archivo); String linea; while ((linea = filtrado.readLine()) != null) despliega.append(linea+"n"); archivo.close(); filtrado.close(); }catch(FileNotFoundException e){ despliega.append(e.getMessage()); }catch(IOException e){ despliega.append(e.getMessage()); } }
  • 18. Ejemplo public void guardaArchivo(File f){ FileWriter archivo; BufferedWriter filtrado; String contenido="nada"; try{ archivo = new FileWriter(f); filtrado = new BufferedWriter(archivo); contenido = despliega.getText(); filtrado.write(contenido,0,contenido.length()); filtrado.flush(); archivo.close(); filtrado.close(); }catch(FileNotFoundException e){ despliega.append(e.getMessage()); }catch(IOException e){ despliega.append(e.getMessage()); } despliega.setText(""); }
  • 20. Ejemplo public void despliegaPropiedades(File f){ despliega.setText("Propiedades del Archivo: "+f.getName()+"n"); despliega.append("canRead()>> "+String.valueOf(f.canRead())+"n"); despliega.append("canWrite()>> "+String.valueOf(f.canWrite())+"n"); despliega.append("exists()>> "+String.valueOf(f.exists())+"n"); despliega.append("getAbsolutePath()>> "+f.getAbsolutePath()+"n"); despliega.append("getPath()>> "+f.getPath()+"n"); despliega.append("length()>> "+String.valueOf(f.length())+"n"); } public class Archivo2 extends Frame implements ActionListener{
  • 21. System.out.println() • out variable de la clase System del paquete lang • out variable de tipo PrintStream • La clase PrintStream tiene una serie de métodos print y println para poder escribir una representación legible para cada tipo de dato primitivo en Java • No arroja excepciones
  • 22. PrintStream desaprobado • PrintStream ya está desaprobado (deprecated) • Es recomendable utilizar PrintWriter • Asi se tiene el soporte para escribir carácteres Unicode • Los métodos de PrintStream eliminan la parte alta de los carácteres para transformarlos en código Ascii de 8 bits
  • 23. Leyendo del teclado • Utilizaremos InputStreamReader para poder leer Unicode • InputStreamReader transforma los bytes leidos en carácteres Unicode • Envolveremos al InputStreamReader en un BufferedReader por eficiencia
  • 24. Ejemploimport java.io.*; public class Teclado { public static void main(String[] args){ String linea=""; InputStreamReader entrada = new InputStreamReader(System.in); BufferedReader teclado = new BufferedReader(entrada); System.out.println("Teclea líneas de texto"); System.out.println("Teclea q y <enter> para terminar"); try{ while(linea.compareTo("q")!=0){ linea = teclado.readLine(); System.out.println(">> "+linea); } }catch(IOException e){ System.out.println(e.getMessage()); } System.out.println("Fin del Programa"); try{ teclado.close(); entrada.close(); }catch(IOException e){ System.out.println(e.getMessage()); } } }
  • 25. Referencias Bibliográficas • LEOBARDO, L. (2006). METODOLOGÍA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS, México, Alfaomega. • LOPEZ, J., ALBERCA G. (2009): GUÍA DE FUNDAMENTOS DE LA PROGRAMACIÓN, Loja – Ecuador, UTPL
  • 26. Gracias Mg. Luis Fernando Aguas Bucheli +593 984015184 @Aguaszoft Laguas@uisrael.edu.ec Aguaszoft@Outlook.es