Sistema de Archivos en Java



Documentos relacionados
Introducción al lenguaje Java

USO DE LOS OBJETOS JLABEL, JTEXTFIELD Y JBUTTON

WEB SERVICES CREACIÓN DEL SERVICIO

Laboratorio JDBC - Base de datos con Java

MANUAL SISTEMA ENCRIPTACIÓN DE HECHOS RESERVADOS

1. Manejo de memoria estática 2. Manejo de memoria dinámica

Agentes con Interfaz Gráfica.

MANUAL PARA RESPALDAR Y RESTAURAR UNA BASE DE DATOS EN EL SAACG.NET INDETEC MANUAL PARA RESPALDAR Y RESTAURAR UNA BASE DE DATOS EN EL SAACG.

Ejercicios - Persistencia en Android: ficheros y SQLite

Prof. Dr. Paul Bustamante

Guía de Instalación de XTBox

Manual Operativo Sistema de Postulación Online

Manual para el uso del Correo Electrónico Institucional Via Webmail

PROCEDIMIENTO PARA TRAMITES DEL. CERTIFICADO DE SELLO DIGITAL (SOLCEDI y CERTISAT)

INDICE. 1. Introducción El panel Entities view El panel grafico Barra de botones Botones de Behavior...

Text Mining: Distancia de Levenshtein

PROCEDIMIENTO DE ENLACE NOMIPAQ

Plantillas Office. Manual de usuario Versión 1.1

GENERAR COPIAS DE SEGURIDAD (BACKUP)

1. Creación del repositorio

Programación Gambas 3 Prof: Mileti, P. Acceso a base de datos SQLite desde Gambas 3.

Partes de un programa en Java. A. Ejemplo de un Programa en Java /* Programa Ejemplo de Java: Muestra una Ventana Archivo: Ejemplo1.

C r e a c i ó n d e R e s p a l d o s e n B l u e F o r m s. P á g i n a 1. La propiedad intelectual de este documento es de BlueMessaging.

MANUAL PARA MANEJO DEL SISTEMA DE TRASLADO

ISTP CIDET COMPUTACION E INFORMATICA ARREGLOS EN JAVA

Digitales Emitidos Versión 1.0

3.1. Guardar un libro de trabajo

CONSEJO DE AUDITORIA INTERNA GENERAL DE GOBIERNO CMM Manual de usuario

Unidad VI. archivos de texto llano o texto simple por carecer de información destinada a generar formatos y tipos de letra.

1. Ejemplo de clase : La clase Cuenta 2. Uso de la clase Cuenta. 3. Métodos y objetos receptores de mensajes (Importante)

Manual Operativo Aplicación Móvil

Práctica: Creación de un programa C# sencillo

GUIA PRÁCTICA PARA OBTENER LA FACTURA ELECTRÓNICA

Manual de usuario de Parda Programa de Almacenamiento y Recuperación de Datos Automático

Enlace ContPaq i Nóminas Nomipaq

FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005

EUSKADI PRECIOS NDICE. 1 Definiciones: Base de Precios, Estructura, Precios paramétricos, Precios descompuestos, ámbitos

GUIA COMPLEMENTARIA PARA EL USUARIO DE AUTOAUDIT. Versión N 02 Fecha: 2011-Febrero Apartado: Archivos Anexos ARCHIVOS ANEXOS

PRACTICAS DE ANDROID 12 - Lanzar un segundo "Activity" y pasar parámetros Problema:

TEMA 5: Trabajando con bases de datos. ClaseOracleBD

EUROPIO ENGINE LAB: FORMULARIOS WEB Y TABLAS HTML EN SOLO

Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Algoritmia y Programación

3.- Desarrollo e implementación del sistema.

MANUAL PARA LA GENERACION DE PRENOMINA PARA EL SIGUIENTE PERIODO

Universidad ORT - Arquitecturas de Software sobre plataforma JEE Web Services (parte 1)

Guía de usuario. Docentes. Autoservicio de PowerCAMPUS

Nomina electrónica! 1 - Seleccionar Empresa! Revisar Empleados! Configurar Nomina! Agregar Empleados a Nomina! Conceptos de pago X Empleado!

GENERACION DE METADATOS DE FORMA SEMIAUTOMÁTICA CON gvsig POR LOTES

Manual de Creación del Certificado de Sello Digital (CSD) en el SAT

Procedimiento de Instalación ANSYS License Manager 16.0

Sistema Integral de Tesorería Módulo de Contabilidad Manual de Operación

Ejercicio: Mensajes Alert, Confirm y Prompt

Dirección General de Tecnologías de la Información y Comunicaciones. Dirección de Tecnología de la Información y Tecnologías

Programa de Ayuda HERES

Guía de instalación y manejo de la Ficha Docente CONEAU Incentivos

Firma Digital en Publicaciones Oficiales del Parlamento de La Rioja.

Tablas y Campos Nuevos

LABORATORIO Nº 1 Sistemas de Información asociados a los Formularios en Excel

INDETEC MANUAL DE GASTOS POR COMPROBAR SAACG.NET

PRESENTACIÓN TELEMÁTICA DE LIBROS

Instantáneas o Shadow Copy

Guía rápida de la Oficina Virtual Área Web y Administración Electrónica

Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero.

GUIA DE LABORATORIO N 8 A(Netbeans-java,Glassfish)

Modulo 1 El lenguaje Java

Comunicación utilizando la biblioteca en JAVA para SADE

MANUAL DE REQUISITOS SAT

%& %)& '$!%*+ $, %%%&$ %%

Taller Práctico Creación de un LO IMS/SCORM

Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java

WEBMAIL ACA SALUD INSTRUCTIVO BÁSICO

LEY CONTRA EL DELITO DE LAVADO DE DINERO O ACTIVOS. CIRCULAR CNBS No. XXXX. CAPTURADOR Lavado de Activos v5.0

CAPITULO 4. Requerimientos, Análisis y Diseño. El presente capítulo explica los pasos que se realizaron antes de implementar

Kosmo Desktop Guía de instalación

Conociendo el ambiente de programación de Java. M. en C. Erika Vilches

CONECTOR CTIFAC CONTENIDO

Manual de usuario de Webmail

GUÍA DE AYUDA No. 1 GENERACIÓN Y RECUPERACIÓN DE RESPALDOS DEL SISTEMA ADMINISTRADOR 2000

Instalación del Admin CFDI

Registro y consulta de clientes según la ley para la prevención de lavado de dinero en Neodata ERP.

ABASEGUROS S.A. DE C.V. Manual de Usuario. Sistema de Reestructuración de Facturación

PRESENTACIÓN TELEMÁTICA DE LIBROS

3. CONSIDERACIONES GENERALES

MANUAL DE USUARIO. Se deben seguir los siguientes pasos para la correcta instalación del módulo descargable:

GUÍA DE LABORATORIO 5 ARREGLOS DE UNA DIMENSIÓN

M a n u a l Inventarios

+ U N I V E R S I D A D D E G U A D A L A J A R A +

Programación Orientada a Objetos con Java

Tutorial: Primeros Pasos con Subversion

Estructura de datos tipo vector.

Dirección de Recursos Materiales Sistema de Requisiciones ÍNDICE. Acceso al sistema 2. Registro de requisiciones 4. Registro bien de catálogo 4

Para leer la entrada de consola, lo primero que se hace es construir un Scanner que este asociado al flujo de entrada estándar System.

Transcripción:

David González Segundo SISTEMAS OPERATIVOS ICO-16 Fecha: 27/Octubre/2014 Sistema de Archivos en Java Propósito: El alumno elaborara un programa en el que representa el sistema de archivos que permita guardar, modificar o borrar el directorio o archivo Alcance: Representa el sistema de archivos como una estructura. Requerimientos - IDE Java FUNCIONAMIEMTO El siguiente programa muestra una ventana con tres botones que son examinar directorio, borrar y guardar. El botón examinar directorio nos abrirá otra ventana para elegir un archivo o carpeta, si se elige una carpeta muestra los archivos que contiene y su directorio y si se elige un solo archivo, mostrará su directorio que el programa lo maneja como ruta absoluta. El botón borrar hace su función hasta que haiga un directorio cargado El botón guardar manda a un archivo de texto el directorio seleccionado Los resultados se muestran en el área de la ventana y manda mensajes sobre las operaciones de borrado y guardado.

Ventana principal del programa Figura 1 Se muestra la ventana de escoger un archivo o directorio al presionar el botón Examinar Directorio Figura 2

El siguiente código fuente realiza la función de la Figura 2: package sistemaarchivos; import java.awt.borderlayout; import java.io.file; import java.io.filenotfoundexception; import java.util.formatterclosedexception; import java.util.nosuchelementexception; import java.util.logging.formatter; import javax.swing.jfilechooser; import javax.swing.jframe; import javax.swing.joptionpane; import javax.swing.jpanel; import javax.swing.jscrollpane; import javax.swing.jtextarea; /** * * @author David */ public class sist extends javax.swing.jframe private JTextArea areasalida; // se utiliza para salida private JScrollPane paneldespl; // se utiliza para que la salida pueda desplazarse private String directorio_archivo; private Formatter salida; //para flujo de salida public sist() super( "Directorios de Archivos" ); areasalida = new JTextArea(); paneldespl = new JScrollPane( areasalida ); add( paneldespl, BorderLayout.CENTER ); // agrega paneldespl a la GUI setsize( 400, 400 ); // establece el tamaã±o de la GUI setvisible( true ); // muestra la GUI //analizarruta(); // crea y analiza un objeto File initcomponents(); private File obtenerarchivo() JFileChooser selectorarchivos = new JFileChooser(); selectorarchivos.setfileselectionmode( JFileChooser.FILES_AND_DIRECTORIES ); int resultado = selectorarchivos.showopendialog( this ); if ( resultado == JFileChooser.CANCEL_OPTION ) System.exit( 1 ); File nombrearchivo = selectorarchivos.getselectedfile(); // obtiene el archivo seleccionado // muestra error si es invã lido if ( ( nombrearchivo == null ) ( nombrearchivo.getname().equals( "" ) ) )

JOptionPane.showMessageDialog( this, "Nombre de archivo invã lido", "Nombre de archivo invã lido", JOptionPane.ERROR_MESSAGE ); System.exit( 1 ); // fin de if return nombrearchivo; En donde el constructor es el método sist() y obtenerarchivo() es el método que se encarga de analizar el directorio seleccionado y retorna el nombre de archivo. Para probar el funcionamiento se creó una carpeta en home/dags/documentos/ con el nombre prueba y se le puso un archivo (en Linux Fedora 20) ver Figura 3. Figura 3 Posteriormente el código que permite obtener la información del directorio y el contenido de archivos es el siguiente: public void analizarruta() // crea un objeto File basado en la entrada del usuario File nombre = obtenerarchivo(); if ( nombre.exists() ) // si el nombre existe, muestra informaciã³n sobre à l // muestra la informaciã³n sobre el archivo (o directorio) directorio_archivo = nombre.getabsolutepath(); //guarda el directorio en una cadena areasalida.settext( String.format("%s%s\n%s\n%s\n%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s", nombre.getname(), " existe", ( nombre.isfile()? "es un archivo" : "no es un archivo" ), ( nombre.isdirectory()? "es un directorio" : "no es un directorio" ), ( nombre.isabsolute()? "es una ruta absoluta" :

"no es una ruta absoluta" ), "Ultima modificacion: ", nombre.lastmodified(), "Tamanio: ", nombre.length(), "Ruta: ", nombre.getpath(), "Ruta absoluta: ", directorio_archivo, "Padre: ", nombre.getparent() ) ); if ( nombre.isdirectory() ) // imprime el listado del directorio String directorio[] = nombre.list(); areasalida.append( "\n\ncontenido del directorio:\n" ); for ( String nombredirectorio : directorio ) areasalida.append( nombredirectorio + "\n" ); // fin de else // fin de if exterior else // no es archivo ni directorio, imprime mensaje de error JOptionPane.showMessageDialog( this, nombre +" no existe.", "ERROR", JOptionPane.ERROR_MESSAGE ); // fin de else Donde el directorio si existe se almacena en la variable directorio_archivo (ruta absoluta) y los detalles (contenido) en el arreglo directorio[], el resultado se muestra en la figura 4 Figura 4

Para guardar el directorio se usó un archivo de texto y el código que realiza esta función es: private void btnguardaractionperformed(java.awt.event.actionevent evt) // TODO add your handling code here: GuardarDirectorio guardardirectorio = new GuardarDirectorio(); guardardirectorio.abrirarchivoe(); guardardirectorio.agregatextoe(directorio_archivo); guardardirectorio.cerrararchivoe(); JOptionPane.showMessageDialog(null, "Directorio Guardado correctamente"); Donde los métodos abrirarchivoe(), agregatextoe(), y cerrararchivoe() se encargan de procesar la información guardada en la cadena directorio_archivo y el resultado se notifica en un mensaje (Figura 5) Figura 5 Abrimos el archivo para asegurar que se guardó el directorio escogido correctamente (Figura 6)

Figura 6 La última función del programa es borrar el directorio o archivo y esto se lleva a cabo con el siguiente código: public void borrar_archivo_directorio() File f = new File(directorio_archivo); if (f.delete()) JOptionPane.showMessageDialog(null, "El fichero " + directorio_archivo + " ha sido borrado correctamente"); else JOptionPane.showMessageDialog(null, "El fichero " + directorio_archivo + " no se ha podido borrar"); Y el código que efectúan los tres botones private void btnexaminaractionperformed(java.awt.event.actionevent evt) // TODO add your handling code here: analizarruta(); //GEN-LAST:event_btnExaminarActionPerformed private void btnborraractionperformed(java.awt.event.actionevent evt) //GEN-FIRST:event_btnBorrarActionPerformed // TODO add your handling code here: borrar_archivo_directorio(); //GEN-LAST:event_btnBorrarActionPerformed private void btnguardaractionperformed(java.awt.event.actionevent evt) //GEN-FIRST:event_btnGuardarActionPerformed // TODO add your handling code here: GuardarDirectorio guardardirectorio = new GuardarDirectorio(); guardardirectorio.abrirarchivoe(); guardardirectorio.agregatextoe(directorio_archivo); guardardirectorio.cerrararchivoe(); JOptionPane.showMessageDialog(null, "Directorio Guardado correctamente");

Donde se crea un objeto File con el directorio capturado y comprueba si existe. Y el resultado se muestra en la figura 7 Figura 7