Hola a todos. Mi duda es la siguiente:
Yo antes copiaba un fichero en otro de la siguiente manera:
FileInputStream fichero1=new FileInputStream(....);
FileOutputStream fichero2=new FileOutputStream(.....);
FileChannel origen = fichero1.getChannel();
FileChannel destino = fichero2.getChannel();
origen.transferTo(0, origen.size(), destino);
fichero1.close();
fichero2.close();
Pero no se porque en linux no me funciona. (bueno me funciona segun versiones del kernel inferiores a 2.4. No se porque pasa esto pero es lo que ocurre).
Entonces cambie la forma de copiar ficheros e hice esto otro:
int i=fichero1.read();
while(i!=-1){
fichero2.write(i);
i=fichero1.read();
El problema lo tengo en que el fichero que copio es un ejecutable y luego cuando intento lanzarlo con:
Runtime ejecutor=Runtime.getRuntime();
Process proceso=ejecutor.exec(c:\.....\fichero2);
me sale una excepcion de IO (algo asi como no createProcess).
De la primera forma de copiar ficheros no me salia esta excepcion y todo iba bien pero con esta ultima forma de copiar ficheros si.
¿alguien sabe porque?
¿hay alguna forma de copiar un fichero en otro un poco mas elegante que la que utilizo yo?