Como posso copiar um arquivo e recuperar um array de bytes, agradeço se alguém puder ajudar.
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
Mastigado
[code]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;
}[/code]
[]s, Welington B. Souza
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.
Agradeço pessoal, deu certo aqui.