Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > erco - cargar archivos con java swing

Hola amigos de java hispano.
Me encontre con un nuevo problema.
estoy creando un proyecto en el cual necesito subir archivos a mi aplicacion.
lo que busco es que al presionar un boton, este habra una ventana de navegacion, busco el archivo deseado y luego capturo la dirección del archivo en un jtextfiel.
pero ahora no sé como hacer que ese archivo se guarde en una carpeta especifica de mi proyecto.

lo que no logro es que el archivo se copie en la carpeta de mi proyecto.
Si alguien tiene algun conocimiento de como hacerlo se lo agradeceria bastante.

agosto 29, 2012 | Unregistered Commentererco

http://docs.oracle.com/javase/7/docs/api/java/io/FileOutputStream.html

agosto 30, 2012 | Registered Commenterchoces

si entiendo bien lo que realmente quieres es como copiar un archivo a otro directorio.
lamentablemente que yo sepa java no tiene una funcion magica que te copie dos archivos asi lo que hay que hacer es crear un segundo archivo(destino) donde vas escribiendo los bytes del primer archivo(fuente).

te dejo una funcion que hice hace tiempo lo que hace es copiar un archivo(fuente) a otro directorio(destino) y te retorna en Mega bytes los datos copiados del otro archivo

/**
* metodo que permite copiar dos archivos
*@param fuente diereccion absoluta del archivo que se va a copiar
*@param destino direccion del archivo donde se copiara
* @return cantidad aproximada de MB copiados.
*/
public static double copiarArchivo(File fuente, File destino) {
BufferedInputStream buffer_origen = null;
BufferedOutputStream buffer_destino = null;
byte[] lectura = new byte[64];
int contador = 0;//cuenta cuantos paquetes de 64 bytes se escriben en disco.
try {
buffer_destino = new BufferedOutputStream(new FileOutputStream(destino));
buffer_origen = new BufferedInputStream(new FileInputStream(fuente));
int leido = -1;//condicion de paro
do {
leido = buffer_origen.read(lectura, 0, lectura.length);//lee 64 bytes
buffer_destino.write(lectura, 0, lectura.length);//escribe 64 bytes
contador++;//cuenta los paquetes
} while (leido != -1);
//Cerrando los archivos

buffer_destino.close();
buffer_origen.close();
} catch (IOException ex) {
System.out.println("no se pudo leer");
}//--->fin de catch

return (double) (contador * 64/ 1048576);//calculo de MB copiados
}//----->fin del metodo copiar archivos

si lo que quieres es copiar en tu carpeta del proyecto seria algo como File("nombre.ext");
si escribes solo el nombre java te lo copia en la carpeta del proyecto y si ya esta hecho el jar te lo pone a la par del jar.

espero que te ayude (esperaria que entiendas el codigo que te di y no solo lo uses) pero eres libre de hacer lo que quieras con el codigo.

atte Jhosep

septiembre 2, 2012 | Registered Commenterjhosep