Anteriormente publique un articulo titulado Crear archivos .iso. Programa echo en java un programa echo en Java como el titulo lo indica que creaba archivos .iso de CDs, ahí mencione que hacia uso de un pequeño programa en C que hacia de puente entre el comando para crear los archivos.iso y el programa en Java, pues bien ya solucione eso y ahora esta totalmente programado en Java.
Aclaro algo, que este echo en Java no lo hace MultiPlataforma, ya que solo funcionara en sistemas GNU/Linux y con unas características muy concretas que son las siguientes:
- El sistema Linux debe aceptar el comando dd
- El usuario que ejecuta el programa y el nombre de su carpeta que se encuentra en el /home deben tener los mismos nombres de lo contrario no funcionara el botón detener.
- Para el botón detener el usuario debe poder hacer uso del comando kill
Bueno esos son algunos detalles, aun que la mayoría de las instalaciones linux estándar cumplen con esos requisitos.
El programa respecto a la versión anterior sufrió algunos cambios en el código, el primero y mas importante como dije ya no hago uso del programa echo en C.
- El algoritmo que crea los archivos.iso se ejecuta en modo multihilo, solucione que el programa quede detenido mientras se crea el archivo.
- Hay un algoritmo que detiene el proceso de creación de archivo, aun que al detener no elimina el archivo sin terminar, eso es bastante fácil de hacer pero ya no lo hice.
- Cambie los colores de la interfaz, nada importante pero se ve mejor.
Hay algunas carencias que no solucione y las deje igual que en la versión anterior del programa, estas son:
- No puedes elegir una carpeta diferente para guardar el archivo.iso solo las que hay en el /home, esto conlleva a que si escoges otra que no sea la de tu usuario el boton detener no funciona.
- Las unidades no se detectan como tal solo son basadas en lógica del sistema, hago una suposición que si hay mas de 2 unidades, la segunda unidad se llamara cdrom1, no en todos los casos funcionara eso pero en la mayoría si.
- No hay barra de progreso o algo que indique como va el proceso de copia, esto mas que nada es por no tener el control del comando dd. Pero se podría inferir que si ya termino el copiado se abra la bandeja, hay una linea de código comentada que hace eso al terminar el copiado, pero si no hay disco y le dan al botón Crear Iso se abrirá la bandeja, en parte esta bien por otra esta mal como ustedes lo vean.
Bueno hay les dejo los códigos fuente y el programa ejecutable en .jar y nativo para 64 bits, para ejecutar el programa tienen que darle permiso de ejecución tanto al .jar como al ejecutable.
sudo chmod +x cd-iso.jar
sudo chmod +x cd-iso
Para el .jar deben tener instalado la JVM versión 1.6 en adelante.
Esta es la ultima versión de este programa ya que seguirlo desarrollando me llevaría algo de tiempo que no lo tengo, pero dejo las bases para cualquiera que quiera seguirlo mejorando, y ya saben si queda chido me lo pasan.
La carpeta de los archivos fuente es un proyecto echo en Eclipse.
Archivos Fuente y Ejecutables