You are on page 1of 20

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS

Universidad del Perú, DECANA DE AMÉRICA


Facultad de Ingeniería de Sistemas e Informática

Sistemas Operativos

Análisis, Diseño e Implementación de un Explorador de Archivos


Docente : María Helena
Integrantes :
 Ulloa Padilla, Leonardo Miguel.
 Velásquez Román, Jorge Armando.
 Zegarra Villanueva, Juan Diego.
LIMA-PERÚ
2019
ÍNDICE

1.-Introducción
1.1 Resumen…………………………………………
1.2 Objetivo General…………………………………
1.3 Especificaciones………………………………….
2. Marco teórico
2.1 Programación Orientada a Objetos con Java….
2.2 Clases en Java…………………………………….
2.3 La plataforma NetBeans ………………………….
2.4 Interfaces graficas de usuario…………………….
2.4.1 AWT y Swing…………………………...….
2.4.1 Frames………………………………...……
2.5 Componentes Java ……………………………….
2.5.1 Jtree………………………………...………
2.5.2 Jtable…………………………...………….
3. Herramientas y librerías utilizadas
3.1 Componentes Java …………………………………
2.5.1 Jtree………………………………...……….
2.5.2 Jtable…………………………...……………
3.2 Librerías……………………………………………….
4. Implementación
4.1 Árbol de Directorios…………………………………
4.2. Visor de Archivos……………………………………
4.3. Funciones Básicas…………………………………
4.3.1 Abrir Archivos……………………...……….
4.3.2 Crear Archivos/Carpetas………………….
4.3.3 Eliminar………………………………...………
4.4. Barra de Herramientas…………………………………
5.-Conclusiones…………………………………………………….
6.-Recomendaciones…………………………………………………
7.-Bibliografía………………………………………………………
1 INTRODUCCIÓN

1.1. RESUMEN

Como bien sabemos, la tecnología avanza cada vez más rápido. La


influencia de las computadoras en nuestra vida diaria es evidente,
por esto siempre se está tratando de innovar en lo que respecta a la
facilidad del uso de los sistemas operativos.

Un explorador de archivos es un programa informático que


proporciona los medios para que el usuario gestione archivos y
directorios. Los carpetas y ficheros pueden visualizarse en un árbol
jerárquico basado en su estructura de directorios.

En este trabajo, hemos logrado simular el explorador de archivos del


sistema operativo Windows, a partir de las funciones básicas
(mostrar, crear, editar, eliminar carpetas) y tratando que la interfaz
gráfica sea la más parecida.
1.2 OBJETIVO GENERAL

El principal objetivo del proyecto es construir un explorador


de archivos desarrollado en un lenguaje orientado a objetos para
la comprensión del manejo de ficheros dentro de nuestro sistema
operativo y la aplicación del mediante usando como recursos los
conocimientos adquiridos en cursos previos de Algoritmia y
Estructura de Datos.

1.3 OBJETIVOS ESPECIFICOS

 Realizar una investigación sobre conceptos acerca de la


teoría de Árboles, manejo e implementación.
 Diseñar una interfaz amigable al usuario de fácil
comprensión y manipulación.
 Investigar sobre la aplicación de árboles y ficheros en el
lenguaje Orientado a Objetos, JAVA.
 El programa implementado ha sido desarrollado en la
plataforma Apache Netbeans en su más reciente versión
11, lo cual se debe tener en cuenta al momento de
compilarlo y/o
2 MARCO TEORICO

2.1 PROGRAMACION ORIENTADA A OBJETOS

Como es sabido hay muchos lenguajes de programación


orientada a objetos POO que tienen muchas similitudes entre sí,
pero puntualmente nos enfocaremos en Java. Utilizaremos para tal
efecto un modelo de fábrica de objetos, para introducir los términos
clase, objeto, método, propiedad, estático, dinámico, donde la
fábrica de objetos será el entorno de ejecución. La razón de elegir
este lenguaje es simplemente por cuestión de tener un código
organizado y la facilidad al manejar entornos gráficos.

2.2 CLASES EN JAVA

Como las clases son el centro de la Programación Orientada a


Objetos.

Algunos conceptos importantes de la POO son los siguientes:

 Encapsulación. Las clases pueden ser declaradas como


públicas (public) y como package (accesibles solo para
otras clases del package). Las variables miembros y los
métodos pueden ser public, private, protected y
package. De esa forma se puede controlar el acceso y
evitar un uso inadecuado.
 Herencia. Una clase puede derivar de otra (extends), y
en ese caso hereda todas sus variables y métodos. Una
clase derivada puede añadir nuevas variables y métodos
y/o redefinir las variables y métodos heredados.
 Polimorfismo. Los objetos de distintas clases
pertenecientes a una misma jerarquía o que implementan
una misma interface puede tratarse de una forma general
e individualizada, al mismo tiempo.

2.3 LA PLATAFORMA NETBEANS

La plataforma NetBeans permite que las aplicaciones sean


desarrolladas a partir de un conjunto de componentes de software
llamados módulos. Un módulo es un archivo Java que contiene
clases de java escritas para interactuar con las APIs de NetBeans y
gracias a esto podemos armar programas robustos para el usuario
final.

Durante el desarrollo del NetBeans IDE ocurrió una cosa interesante.


La gente empezó a construir aplicaciones usando el NetBeans core
runtime con sus propios plug-ins, de hecho, esto se convirtió en un
mercado bastante grande.

La Plataforma NetBeans es una base modular y extensible usando


como una estructura de integración para crear aplicaciones grandes
de escritorio. Empresas independientes asociadas, especializadas
en desarrollo de software, proporcionan extensiones adicionales
que se integran fácilmente en la plataforma y que pueden también
utilizarse para desarrollar sus propias herramientas y soluciones.

La plataforma ofrece servicios comunes a las aplicaciones de


escritorio, permitiéndole al desarrollador enfocarse en la lógica
especifica de su aplicación. Entre las características de la
plataforma están:

 Administración de las interfaces de usuario (ej. menús y


barras de herramientas)
 Administración de las configuraciones del usuario.
 Administración del almacenamiento (guardando y
cargando cualquier tipo de dato)
 Administración de ventanas.
 Frameworks.

2.4 INTERFACES GRAFICAS DE USUARIO

La mayor parte de las aplicaciones que se utilizan hoy en día


incluyen interfaces de usuario más sofisticadas que las de las
aplicaciones que se ejecutan en modo consola.

Java incluye, como parte de su biblioteca de clases estándar, un


conjunto de componentes para crear interfaces graficas de usuario.

Siguiendo la filosofía de su lema (“write once, run anywhere”), estos


componentes permiten crear interfaces portables.
2.4.1 AWT Y SWING

Los componentes que se utilizan en Java para crear interfaces


graficas de usuario se agrupan en dos paquetes (y sus
correspondientes subpaquetes).

 java.swt (Abstract Window Toolkit)

Los componentes AWT dependen de las facilidades graficas


ofrecidas por cada sistema operativo: los programas escritos con
AWT tendrán un “look and feel” distinto en Windows y en UNIX.

 java.swing

SWING es 100% Java y, por tanto, completamente independiente


de la plataforma: los componentes gráficos se pintan en tiempo de
ejecución (por lo que las aplicaciones SWING suelen ser algo más
lentas que las AWT).

En la práctica, las aplicaciones Java con interfaces graficas de


usuario suelen mezclar AWT y SWING (porque AWT se encarga de
toda la gestión de eventos y SWING ofrece componentes más
sofisticados)

2.4.2 FRAMES

Los frames (marcos) son ventanas en la que se pueden colocar


otros controles de los que se utilizan para crear las interfaces
graficas de usuario (botones, etiquetas, cajas de texto, listas
desplegables, menús, etcétera).
3 HERRAMIENTAS Y LIBRERIAS UTILIZADAS

3.1 COMPONENTES JAVA

Para el desarrollo de nuestro Explorador de Archivos fue necesario


el manejo de distintos componentes para poder implementar las
funcionalidades sobre manejo de ficheros, generación del directorio
sobre un esquema tipo árbol, etcétera.

3.1.1 JTREE

El Jtree es uno de los componentes complejos a veces más difíciles


de entender y por su” grado de complejidad" muchas veces evitado
por algunos. El mismo representa un árbol jerárquico que podemos
mostrar en nuestras aplicaciones, se compone de nodos a los que
le podemos vincular eventos o acciones dependiendo de nuestras
necesidades.

Un Jtree puede ser utilizado para muchas cosas, principalmente se


utilizan para mostrar rutas de directorios, un ejemplo común lo
vemos en nuestro computador (no importa
cuál sea el sistema operativo, desde que
se pueda trabajar de forma gráfica), si
ingresamos a un explorador de carpetas
vemos el árbol de directorios que nos
permite navegar con mayor facilidad.
Básicamente nos permiten representar
estructuras de datos jerárquicas, cada elemento es un nodo al que
le podemos definir su función y sus eventos independientes.

Gracias a esta función podremos cargar los directorios dentro de


nuestro sistema y representarlos en forma de Árbol.

3.1.2 JTABLE

Jtable es una clase que me permite organizar una determinada


información en tabla, esta difiere de una base de datos normal
porque al utilizar Jtable tu puedes visualizar esta tabla, brindándole
al usuario organización de información, oportunidades de editar y
cambiar el tamaño de las columnas entre otras.
Utilizaremos este componente para poder cargar la información de
los nodos de nuestro JTree y poder mostrarlos en forma de lista.

3.2 LIBRERIAS

Las librerías utilizadas para cumplir los objetivos y el correcto


funcionamiento del Explorador de Archivos fueron las siguientes:

 java.awt.*;
 java.awt.event.*;
 javax.swing.JMenuItem;
 javax.swing.JPopupMenu;
 javax.swing.*;
 javax.swing.border.*;
 javax.swing.event.*;
 javax.swing.tree.*;
 javax.swing.table.*;
 javax.swing.filechooser.FileSystemView;
 java.io.File;
 java.io.FileInputStream;
 java.io.FileOutputStream;
 java.io.IOException;
 java.nio.channels.FileChannel;
4 IMPLEMENTACIÓN

El explorador de archivos cuenta con determinados componentes


que te ayudan en el manejo y la administración de la información
dentro de nuestro sistema.

4.1 ARBOL DE DIRECTORIOS

El árbol de directorios es la forma de mostrar todos los directorios


dentro de nuestra unidad de almacenamiento en forma de
estructura de arbol. La raiz de árbol vendría a ser el directorio raíz,
el cual se descompone en nodos, los cuales son los subdirectorios.
Las hojas del arbol vendrian a ser los archivos, pero estos serán
cargados en la tabla del lado derecho.
4.2 VISOR DE ARCHIVOS

El visor de archivos consta basicamente de una tabla en la cual se


cargarán las hojas del arbol de directorios al momento de
seleccionarlos.
4.3 FUNCIONES BASICAS

La aplicación contiene diversas funciones las cuales son:


 Selección de carpetas/archivos
 Creación de carpetas/archivos
 Eliminar carpetas/archivos
 Abrir archivos/carpetas
 Copiar y Pegar archivos/carpetas.
 Modificar el nombre del archivo/carpeta

4.3.1 ABRIR ARCHIVOS


4.3.2 CREAR ARCHIVOS/CARPETAS
4.2.3 ELIMINAR
4.4 BARRA DE HERAMIENTAS

5 CONCLUSIÓN

6 RECOMENDACIÓNES
7 BIBLIOGRAFIA

 http://ocw.udl.cat/enginyeria-i-arquitectura/programacio-

2/continguts-1/4-manejo-bai81sico-de-archivos-en-java.pdf

 http://codejavu.blogspot.com/2013/11/ejemplo-jtree-en-

java.html

 https://jnjsite.com/java-swing-8-el-jtree/

 http://opac.pucv.cl/pucv_txt/txt-0500/UCF0907_01.pdf

 http://codejavu.blogspot.com/2013/11/ejemplo-

jfilechooser.html

 http://acodigo.blogspot.com/2017/06/jfilechooser-java-

swing.html

 https://prezi.com/lt27jbzpp0za/funciones-basicas-del-

explorador-de-archivos/

 https://www.colconectada.com/normas-apa/

You might also like