Está en la página 1de 24

TECNOLÓGICO NACIONAL DE MÉXICO

INSTITUTO TECNOLÓGICO DE IGUALA

Carrera:
Ingeniería en Informática.

Asignatura:

Tecnologías e interfaces de computadoras.

Semestre:
Quinto.
Docente:
Jacobo Adán Víctor Manuel.

Unidad III

Actividad:
“Practica 2. Implementar una aplicación donde se lleve a cabo la
programación del puerto USB a través de un lenguaje de programación
para solucionar alguna problemática específica”

Nombre del Alumno (a):

• Adalberto Díaz Sánchez.


• Arnoldo Martínez Alcántara

Horario:
Lunes-jueves 08:00-09:00

17 de noviembre del 2023, Iguala de la Independencia, Guerrero.



En la actualidad, la cantidad de archivos descargados en nuestras computadoras ha
aumentado considerablemente, lo que dificulta la organización y búsqueda eficiente de los
mismos. Con el fin de resolver este problema, hemos desarrollado un software en lenguaje
Java con apoyo del IDE de “Apache NetBeans” el cual nos permitió convertirlo en un archivo
.jar. Este programa permite ordenar automáticamente los archivos descargados en la carpeta
de escritorio, además, brinda al usuario la posibilidad de clasificar los archivos de manera
rápida y ordenada, facilitando su posterior uso y evitando la pérdida de tiempo en la búsqueda
de documentos importantes. A través de este software, se busca mejorar la organización y
productividad en el uso diario de la computadora, y mejor aún, desde la portabilidad de una
memoria USB. A continuación, se muestran los pasos que se llevaron a cabo para realizar
este software de ordenamiento de archivos.

Crear un software con lenguaje java para ordenar archivos de la ruta de descargas a la carpeta
de escritorio, para facilitar la organización y búsqueda en la computadora, permitiendo al
usuario clasificarlos de manera fácil y ordenada para su posterior uso.


a) Lenguaje de programación e IDE.

Para el desarrollo de esta interfaz gráfica se utilizó el lenguaje de programación Java y el IDE
de Apache NetBeans a continuación conoceremos más acerca de estos elementos:

Java es un lenguaje de programación de propósito general que se destaca por su portabilidad,


ya que el código escrito en Java puede ejecutarse en diferentes plataformas sin necesidad de
reescribirlo. Fue creado por Sun Microsystems en 1995 y se ha convertido en uno de los
lenguajes más populares debido a su versatilidad y amplio uso en una variedad de
aplicaciones, desde aplicaciones de escritorio hasta sistemas embebidos y aplicaciones
empresariales.

Algunas de las características clave de Java son:

Portabilidad: El código Java se compila en un formato independiente de la plataforma


llamado bytecode, que puede ser ejecutado por la Máquina Virtual Java (JVM) en diferentes
sistemas operativos.

Orientado a objetos: Java es un lenguaje orientado a objetos, lo que significa que se organiza
alrededor de objetos y sus interacciones, lo que facilita la modularidad, el mantenimiento y
la reutilización del código.

Seguridad: Java tiene un enfoque robusto en seguridad, con un modelo de seguridad


integrado que incluye el control de acceso y la verificación de bytecode para prevenir ciertos
tipos de errores y ataques.

Multi-hilo: Proporciona soporte para programación multi-hilo, permitiendo que las


aplicaciones realicen múltiples tareas simultáneamente, lo que puede mejorar la eficiencia en
aplicaciones que requieren concurrencia.

Gestión automática de memoria: Java utiliza un recolector de basura para gestionar


automáticamente la memoria, liberando a los programadores de la responsabilidad de
administrar la asignación y liberación de memoria.
NetBeans, por otro lado, es un entorno de desarrollo integrado (IDE) que inicialmente se
enfocó en el desarrollo de aplicaciones Java, aunque ahora admite varios lenguajes de
programación. Está construido principalmente en Java y proporciona un conjunto de
herramientas poderosas para el desarrollo de software.

Las características de Apache NetBeans incluyen:

Soporte multiplataforma: NetBeans está disponible para varios sistemas operativos, lo que
permite a los desarrolladores trabajar en diferentes plataformas.

Edición de código avanzada: Ofrece funciones avanzadas de edición de código, incluyendo


resaltado de sintaxis, finalización automática de código, refactorización y navegación por el
código.

Herramientas integradas: Incorpora herramientas para el desarrollo de aplicaciones Java,


como depuración, perfiles de rendimiento, construcción de interfaces gráficas de usuario
(GUI), entre otras.

Extensibilidad: NetBeans es altamente extensible, lo que significa que los desarrolladores


pueden agregar fácilmente complementos y extensiones para ampliar sus funcionalidades.

Compatibilidad con otros lenguajes: Además de Java, NetBeans también ofrece soporte para
otros lenguajes de programación como HTML, JavaScript, PHP, C/C++, entre otros.

b) Explicación del Código.


Este código es la clase principal de la aplicación que se encarga de iniciar la interfaz gráfica
del programa.

1. Se importa la clase "Pantalla" del paquete "igu" que contiene la interfaz gráfica de
la aplicación.

2. Se declara la clase "Interfazprograma" que contendrá el método principal "main".

3. En el método "main":

a. Se crea una instancia de la clase "Pantalla" llamada "panta".

b. Se hace visible la pantalla utilizando el método "setVisible(true)".

c. Se centra la pantalla en el centro de la pantalla utilizando el método


"setLocationRelativeTo (null)".

Este código se encarga de iniciar la interfaz gráfica de la aplicación al crear una instancia de
la clase "Pantalla" y hacerla visible en el centro de la pantalla.

Este código es una parte de una aplicación en Java que utiliza la biblioteca Swing para crear
una interfaz gráfica de usuario (GUI). Vamos a analizarlo línea por línea:
1. package igu; Esto indica que la clase Pantalla está en el paquete llamado igu. Los
paquetes en Java se utilizan para organizar y estructurar el código.

2. Importaciones:

import java.io. File;

import java.io. IOException;

import java.nio. file.Files;

import java.nio. file.StandardCopyOption;

import javax. swing. JOptionPane;

Aquí se están importando diferentes clases y utilidades que serán utilizadas en el código. ´

File, IOException, Files y StandardCopyOption son clases relacionadas con operaciones


de archivos y manejo de excepciones. JOptionPane es una clase de Swing que proporciona
diálogos modales simples para interactuar con el usuario.

1. public class Pantalla extends javax. swing. JFrame {: Esta línea declara una clase
llamada Pantalla que extiende (extends) javax. swing. JFrame. Eso significa que
Pantalla es una ventana de la interfaz gráfica de usuario y se basa en la clase JFrame
de Swing, que es un contenedor de ventana estándar en aplicaciones de escritorio
Java.
2. public Pantalla () {initComponents (); }: Este es el constructor de la clase Pantalla.
Cuando se crea una instancia de Pantalla, este constructor se ejecuta
automáticamente. initComponents () es probablemente un método que inicializa y
configura los componentes de la interfaz de usuario.
3. @SuppressWarnings("unchecked"): Esta anotación se utiliza para suprimir
advertencias del compilador. En este caso, parece estar suprimiendo advertencias
relacionadas con la verificación de tipos de componentes generados automáticamente
en la interfaz de usuario.
Este código es una plantilla básica para crear una ventana de interfaz gráfica en Java
utilizando la biblioteca Swing, con importaciones de clases necesarias para manejar archivos,
excepciones y mostrar mensajes al usuario. La clase Pantalla parece ser el punto de partida
para construir la interfaz y manejar su funcionalidad.

Continuamos con la explicación del código que le da función a los diferentes botones que
tenemos:

Este código corresponde a una interfaz gráfica en Java, creada con Swing, que proporciona
botones para organizar archivos descargados en diferentes carpetas según su tipo.

Aquí se crean componentes visuales como botones, etiquetas de texto y se define su


comportamiento cuando se interactúa con ellos. La interfaz tiene botones para ordenar
archivos de música, imágenes, videos, PDF, Word y archivos comprimidos (RAR).

La lógica para mover archivos se encuentra en los métodos asociados a la acción de cada
botón. Por ejemplo, el método botonimagenesActionPerformed mueve archivos de
imágenes desde la carpeta de descargas a una carpeta específica en el escritorio.
Este es el flujo general de los métodos:

botonimagenesActionPerformed: Mueve archivos de imágenes (jpeg, jpg, png) desde la


carpeta de descargas a una carpeta en el escritorio llamada "imágenes".

botonmusica1ActionPerformed: Mueve archivos de música (mp3) desde la carpeta de


descargas a una carpeta en el escritorio llamada "música".

botonvideosActionPerformed: Mueve archivos de videos (mp4, gif) desde la carpeta de


descargas a una carpeta en el escritorio llamada "videos".

botonpdfActionPerformed: Mueve archivos PDF desde la carpeta de descargas a una


carpeta en el escritorio llamada "PDF".

botonwordActionPerformed: Mueve archivos Word (docx) desde la carpeta de descargas a


una carpeta en el escritorio llamada "Word".

botonrarActionPerformed: Mueve archivos comprimidos (rar) desde la carpeta de


descargas a una carpeta en el escritorio llamada "Rar".

El método botonordenatodoActionPerformed es un caso especial que mueve todos los


archivos descargados según su extensión a una carpeta llamada "Todos los archivos" en el
escritorio.

En resumen, cada botón ejecuta una lógica similar: buscar archivos en la carpeta de descargas
que coincidan con cierta extensión y luego moverlos a una carpeta específica en el escritorio.
Este programa funciona en la computadora siempre y cuando coincida con la ruta de
descargas escritorio.
Para lograr entender mejor este programa te presentamos el paso a paso del código de un solo
botón de seis que manejamos, ya que todos llevan la misma lógica:

private void botonimagenesActionPerformed (java.awt. event. ActionEvent evt) {

// Ruta de descargas

String rutaDescargas = "C:\\Users\\Usuario\\Downloads";

// Ruta de escritorio

String rutaEscritorio = "C:\\Users\\Usuario\\Desktop\\imágenes";

try {

// Se crea un objeto de tipo File para la carpeta de imágenes en el escritorio

File carpetaImagenes = new File(rutaEscritorio);

// Si la carpeta no existe, se crea junto con cualquier directorio padre que falte

if (!carpetaImagenes.exists()) {

carpetaImagenes.mkdirs();

// Se crea un objeto de tipo File para la carpeta de descargas

File descargas = new File(rutaDescargas);

// Se obtiene una lista de archivos en la carpeta de descargas

File [] archivos = descargas. listFiles ();

// Se recorre la lista de archivos en la carpeta de descargas

for (File archivo: archivos) {


// Se verifica si el elemento actual es un archivo y si tiene una de las extensiones de imagen específicas

if (archivo.isFile() && (archivo.getName().toLowerCase().endsWith(".jpeg") ||

archivo.getName().toLowerCase().endsWith(".jpg") ||

archivo.getName().toLowerCase().endsWith(".png"))) {

// Se crea un objeto File para el destino del archivo en la carpeta de imágenes en el escritorio

File destino = new File (rutaEscritorio, archivo. getName ());

// Se mueve el archivo a la carpeta de imágenes en el escritorio

Files.move(archivo. toPath(), destino.toPath(), StandardCopyOption.REPLACE_EXISTING);

// Se muestra un mensaje de éxito si la operación se realizó correctamente

JOptionPane.showMessageDialog(this, "Archivos de imágenes movidos exitosamente a la carpeta


'imágenes' en el escritorio.", "Éxito", JOptionPane.INFORMATION_MESSAGE);

} catch (IOException e) {

// En caso de producirse una excepción de E/S (por ejemplo, archivo no encontrado o permisos
insuficientes), se muestra un mensaje de error

JOptionPane.showMessageDialog(this, "Error al mover archivos de imágenes: " + e.getMessage(),


"Error", JOptionPane.ERROR_MESSAGE);

}
c) Demostración con capturas de pantalla y/o fotos.

A continuación, mostramos con fotografías nuestra interfaz y su funcionamiento:

1) Mostramos nuestra ruta de descargas con diferentes archivos: mp3, mp4, pdf,
Word, rar.
2) Mostramos en el escritorio que no existen carpetas con el nombre: imágenes,
videos, rar, música, Word, Todos los archivos.

3) Mostramos cómo convertimos nuestra interfaz a .jar y la pasamos a una


memoria USB para posteriormente ejecutarlo.
Nos vamos al apartado de run y presionamos la opción de “clean and build” y de esta
forma convertimos nuestra interfaz en .jar.
Nos vamos a la carpeta de NetBeans projects y nos metemos a la carpeta de “dist” y
ahí podemos encontrar nuestro interfaz convertido en .jar.

• Enviamos nuestro archivo .jar a una memoria USB, en este caso llamada
ADISA.
4) Ejecutamos nuestra interfaz desde la memoria USB.
5) Probamos que nuestro programa se ejecute de manera correcta presionando
cada uno de los botones y verificando que se vayan creando en la ruta del
escritorio.
1. Empezamos con el botón de música.

Verificamos que dentro de la carpeta música están los archivos .mp3.


2. Botón de imágenes.
3. Botón Videos.
4. Botón de Word.
5. Botón PDF.
6. Botón rar.
7. Botón de ordenamiento para todos los archivos.

Después de indagar en el desarrollo de este software, vemos claramente cómo nuestra
solución en Java, respaldada por Apache NetBeans, ha transformado la manera en que
abordamos la organización de archivos en nuestras computadoras. La eficiencia que este
programa proporciona al ordenar y clasificar automáticamente los archivos descargados ha
resultado fundamental para simplificar nuestras tareas diarias. La posibilidad de acceder a
esta funcionalidad desde una memoria USB añade una capa adicional de versatilidad,
permitiéndonos mejorar la productividad no solo en una computadora específica, sino en
cualquier sistema al que conectemos nuestra unidad. Este proyecto no solo se trata de
optimizar la gestión de archivos, sino también de liberar tiempo valioso que solíamos perder
buscando documentos esenciales. En resumen, este software representa un cambio
significativo en la forma en que enfrentamos el desafío de la creciente cantidad de archivos
en nuestras vidas digitales, brindándonos una solución práctica y adaptable para mantenernos
organizados y eficientes en nuestro día a día.



• IBM. (s. f.). ¿Qué es Java? | https://www.ibm.com/mx-es/topics/java

• orena@wanatop.com. (2023, 2 noviembre). ¿Qué es NetBeans? ventajas y usos -

IMMUNE Institute. Immune Technology Institute. https://immune.institute/blog/que-

es-netbeans/

También podría gustarte