E aê galera…
Estou precisando copiar um arquivo .xml de um determinado diretório para
outro dentro do mesmo drive. Alguém pode dar um exemplo de como fazer?
Estou usando
FileReader arqOriginal = new FileReader( new File( "arquivoDeOrigem" ) );
mas não consigo gravar… o que pode estar faltando!?
No aguardo,
Valeu
Esta classe exemplifica como copiar um arquivo de um lugar para outro, desde que o arquivo original esteja fechado.
import java.io.*;
import java.nio.*;
import java.nio.channels.*;
class TestCopy {
public static void main(String[] args) throws Exception {
File fIn = new File (args[0]); // arquivo de entrada
File fOut = new File (args[1]); // arquivo de saída
FileInputStream fis = new FileInputStream (fIn);
FileOutputStream fos = new FileOutputStream (fOut);
FileChannel fcIn = fis.getChannel();
FileChannel fcOut = fos.getChannel();
fcOut.transferFrom (fcIn, 0, fIn.length());
fos.close();
fis.close();
}
}
[quote=thingol]Esta classe exemplifica como copiar um arquivo de um lugar para outro, desde que o arquivo original esteja fechado.
[code]
import java.io.;
import java.nio.;
import java.nio.channels.*;
class TestCopy {
public static void main(String[] args) throws Exception {
File fIn = new File (args[0]); // arquivo de entrada
File fOut = new File (args[1]); // arquivo de saída
FileInputStream fis = new FileInputStream (fIn);
FileOutputStream fos = new FileOutputStream (fOut);
FileChannel fcIn = fis.getChannel();
FileChannel fcOut = fos.getChannel();
fcOut.transferFrom (fcIn, 0, fIn.length());
fos.close();
fis.close();
}
}
[/code][/quote]
Blz thingol,
O bom é que tbem serve para arq binário, Ok!?
Tanto faz se o arquivo é binário ou não. Ele será copiado inalterado. O único problema é que não dá para interromper a cópia no meio, mas a rotina “transferFrom” normalmente garante a cópia mais rápida que pode ser feita via sistema operacional. (É mais rápido que escrever um programa em C que faça isso e não use APIs específicas do Windows ou do Unix para copiar arquivos).