En esta nueva entrada, veremos la explicación de un método en el lenguaje de programación JAVA, cuya función es renombrar y convertir archivos desde nuestra aplicación. La conversión consiste en pasar un archivo .txt a .doc y viceversa, pasar un archivo .doc a .xls y viceversa, etc.
Método para renombrar archivos:
public void renombrararchivo(String archivofuente){
File archivo1 = new File(archivofuente);
File archivo2 = new File("src/archivo2.txt");
boolean renombrado=archivo1.renameTo(archivo2);
if(renombrado){
JOptionPane.showMessageDialog(null, "Archivo Renombrado con éxito");
}else{
JOptionPane.showMessageDialog(null, "No se pudo renombrar el archivo");
}
}
Método del botón desde donde llamaremos al método anterior:
private void btnRenombrarActionPerformed(java.awt.event.ActionEvent evt) { renombrararchivo("src/archivo.txt"); }
Instrucciones y Recomendaciones
1- Copia y pega el código resaltado en amarillo, dentro de la Clase en la cual se llevará acabo el renombramiento de los archivos. Este código debe ir entre las llaves "{}" de la Clase Java en la cual lo implementaremos, y fuera de cualquier otro método.
2- Lo primero que hacemos es crear el método, dándole las características y/o propiedades de "public" y "void", luego le damos un nombre "renombrararchivo", seguidamente entre paréntesis "()", le pasamos un parámetro de tipo "String" y que corresponde a la ruta y nombre del archivo que deseamos renombrar y/o convertir, por último delimitamos nuestro método con las llaves "{}" que contendrán todo el código que ejecutará la acción que deseamos. Teniendo en cuenta cada parte del código, esta línea quedaría de la siguiente forma:
public void renombrararchivo(String archivofuente){}
3- Ahora, dentro de las llaves "{}" del método creado en el punto anterior; primeramente, instanciamos 2 objetos de la Clase File, al primero lo llamaremos "archivo1" y le pasamos como parámetro valga la redundancia el parámetro tipo "String" del método en el que estamos trabajando; es decir, "new File(archivofuente)"; luego, al segundo objeto lo llamaremos "archivo2" y le pasamos como parámetro un "String", el cual contendrá la ruta y el nuevo nombre que queremos asignarle al archivo original, y por supuesto el tipo al que queremos convertirlo, ya sea ".txt", ".doc", ".xls", etc. Teniendo en cuenta cada parte del código, estas líneas quedarían de la siguiente forma:
File archivo1 = new File(archivofuente);
File archivo2 = new File("src/archivo2.txt");
4- Empleamos el objeto "archivo1", y por consiguiente aplicamos el método "renameTo()", el cual es el que nos permitirá renombrar un archivo, a este método le pasamos como parámetro el objeto "archivo2", para que de esta manera nuestro archivo fuente adquiera el nombre indicado en dicho objeto. Ahora, al ejecutar el método "renameTo()", esto nos devolverá un valor, ya sea "true" o "false", ese valor procedemos a capturarlo en una variable tipo "boolean", a la cual llamaremos "renombrado".
Teniendo en cuenta cada parte del código, esta línea quedaría de la siguiente forma:
boolean renombrado=archivo1.renameTo(archivo2);
5- Seguidamente empleamos un condicional "if-else", donde verificamos que si el valor capturado en la variable "renombrado" es "true", procederemos a mostrar una ventana con el mensaje "Archivo Renombrado con éxito", en caso contrario; es decir, que dicho valor sea "false", procedemos a mostrar una ventana con el mensaje "No se pudo renombrar el archivo". Para esto utilizamos el componente JOptionPane.
Teniendo en cuenta cada parte del código, este fragmento quedaría de la siguiente forma:
if(renombrado){
JOptionPane.showMessageDialog(null, "Archivo Renombrado con éxito");
}else{
JOptionPane.showMessageDialog(null, "No se pudo renombrar el archivo");
}
6- Copia y pega el código resaltado en azul, dentro del método del botón asignado para ejecutar la tarea de renombrar y/o convertir archivos. Lo que hacemos en esta línea, es llamar al método que creamos con anterioridad "renombrararchivo", y pasarle como parámetro un "String", que contiene la ruta, y el nombre junto con la extensión del archivo que queremos que nuestro programa renombre y/o convierta:
renombrararchivo("src/archivo.txt");
7- Ahora sólo basta con ejecutar tu proyecto y hacer las respectivas pruebas.
8- Si es de tu interés, puedes seguir el Curso de Java, que se está realizando mediante videotutoriales y con eBooks, en el Blog UH T.I.S
Si te fue de gran ayuda esta información, no olvides compartirla con tus amigos.
Si tienes dudas o sugerencias al respecto; puedes dejarnos tus comentarios.
Bendiciones...
Si tienes dudas o sugerencias al respecto; puedes dejarnos tus comentarios.
Bendiciones...
mi duda es hacer un programa similar pero en vez de imprimir que si se modifico, que se muestre el nuevo nombre.
ResponderBorrarsaludos
Saludos Zack, teniendo en cuenta el código que aquí te mostramos, lo que podrías hacer sería lo siguiente:
BorrarModificar el contenido del condicional if, por lo cual quedaría así:
if(renombrado){
/*Instancias un objeto de la Clase StringTokenizer, si te das cuenta
le aplicamos 2 parámetros, el primero corresponde al objeto del tipo File que instanciamos en el punto 3 de este artículo y a la vez lo convertimos a String; luego, el segundo parámetro es el caracter que tomará como referencia para dividir la cadena de texto*/
StringTokenizer token = new StringTokenizer (archivo2.toString(),"\\");
//Creamos una variable tipo String
String nombre="";
/*Hacemos un condicional while para recorrer las partes en que se ha divido nuestro texto y lo guardamos en la variable String*/
while(token.hasMoreTokens()){
nombre=token.nextToken();
}
//Mostramos la variable String en el JOptionPane
JOptionPane.showMessageDialog(null, "Nombre del nuevo archivo: "+nombre);
}else...
Nota: Debes importar la siguiente librería: import java.util.StringTokenizer;
Si tienes alguna duda, déjame tu comentario.
Pronto sacaré un artículo para explicar este proceso con más detalle.
Bendiciones...
tengo una duda..esto trabajando en un miniproyecto en el cual muevo los archivos de la siguiente manera
ResponderBorrarorigenfoto="C:\Users\nicolas\Desktop\foto.jpg"
Fotos="C:\Users\nicolas\Desktop\foto2.jpg"
Path origen1=Paths.get(this.origenfoto);
Path destino1=Paths.get(this.Fotos);
Files.copy(origen1, destino1.resolve(origen1.getFileName()));
CON ESTO MUEVO EL ARCHIVO PERO EL PROBLEMA ES K NO PUEDO RENOMBRARLO HABRA UNA FORMA DEHACERLO CON EL CODIGO QUE ESTOY USANDO
En que parte se coloca el metodó del botón?
ResponderBorrar