Cópia de arquivos

4 respostas
R

Como posso copiar um arquivo e recuperar um array de bytes, agradeço se alguém puder ajudar.

4 Respostas

andre_a_s

Dá uma olhada na classe File
nela tem o método renameTo(File). Já ouvi dizer que existe algum tipo de problema nesse método quando executado no linux, mas nunca testei.
Uma outra alternativa é usar as classes do pacote NIO
:wink:

wbsouza

Mastigado :D

private void copyFile(String source, String dest) throws IOException {
    FileInputStream fis = new FileInputStream(source);
    FileOutputStream fos = new FileOutputStream(dest);
    byte abyte0[] = new byte[0x19000];
    for (int i = 0;(i = fis.read(abyte0)) != -1;) {
        fos.write(abyte0, 0, i);
    }
    fis.close();
    fos.close();
}

public byte[] getByteArrayOfFile(String fileName) throws IOException{
    File file = new File(fileName);
    FileInputStream in = new FileInputStream(file);
    byte[] buffer = new byte[(int)file.length()];
    in.read(buffer);
    return buffer;
}

[]s, Welington B. Souza

T

Uma vez tentei usar NIO (java.nio., java.nio.channels.) para fazer cópia de arquivos no disco.
Pelo menos em Windows é bem mais veloz que o programa em Java que não usa NIO, e mesmo mais veloz que o C++, se usar apenas a biblioteca padrão (ou seja, não usando alguma API especial do Windows).
Não estou achando meu código, mas a diferença é notável.

R

Agradeço pessoal, deu certo aqui.

Criado 13 de fevereiro de 2005
Ultima resposta 16 de fev. de 2005
Respostas 4
Participantes 4