Copiar archivo de una carpeta a otra
Como puedo hacer para replicar un archivo en otra carpeta, como si hiciera copy y paste? ya tengo la direccion fuente y la direccion destino, solo me falta esta funcion, no se cual usar... me recomendaron usar file.renameTo("...") pero esta mueve el archivo, es decir que pierdo el archivo original, y yo me quiero quedar con los dos.
Puedes crear un input stream del arcrhivo orginal y escribirlo en un outputstrem hacia un file q tenga la ruta y el nombre del archivo destino algo asi seria:
//name es una cadena con en nombnre del archivo origen y fileName el nombre de archivodestino con todo y la ruta
int fByte;
String name,fileName;
InputStreamReader fin = new java.io.InputStreamReader(new java.io.FileInputStream(new java.io.File(name)));
byte [] byteArray = new byte [1];
char diag =92;
String ruta = new String("C:"+diag);
try
{
filename=ruta+fileName;
java.io.FileOutputStream recib = new java.io.FileOutputStream(new java.io.File(fileName));
while((fByte=fin.read())!=-1)
{
recib.write(byteArray,0,fByte);
}
recib.close();
fin.close();
}
catch(Exception o)
{
System.out.println(o);
}
}
No se si el codigo tal cual te sirva por q lo acabo de escribir :P pero espero q te de ina idea de como hacerlo.
//name es una cadena con en nombnre del archivo origen y fileName el nombre de archivodestino con todo y la ruta
int fByte;
String name,fileName;
InputStreamReader fin = new java.io.InputStreamReader(new java.io.FileInputStream(new java.io.File(name)));
byte [] byteArray = new byte [1];
char diag =92;
String ruta = new String("C:"+diag);
try
{
filename=ruta+fileName;
java.io.FileOutputStream recib = new java.io.FileOutputStream(new java.io.File(fileName));
while((fByte=fin.read())!=-1)
{
recib.write(byteArray,0,fByte);
}
recib.close();
fin.close();
}
catch(Exception o)
{
System.out.println(o);
}
}
No se si el codigo tal cual te sirva por q lo acabo de escribir :P pero espero q te de ina idea de como hacerlo.
Muchas gracias! pero en realidad lo que estaba buscando es una alternativa a eso, me imaginaba (y me dijeron) que habia una instruccion que lo hacia dirctamente, pero no pueo encontrarla por ningun lado, de modo que si sigo asi voy tener que hacer la copia de esta manera que decis.