Copiando arquivos de um diretório para outro no Java

Para copiar arquivos entre pastas no Java de uma maneira simples você pode usar a Classe FileChannel.

Ex:

// Cria channel na origem
FileChannel oriChannel = new FileInputStream(“Caminho Origem”).getChannel();
// Cria channel no destino
FileChannel destChannel = new FileOutputStream(“Caminho Destino”).getChannel();
// Copia conteúdo da origem no destino
destChannel.transferFrom(oriChannel, 0, oriChannel.size());

// Fecha channels
oriChannel.close();
destChannel.close();

7 ideias sobre “Copiando arquivos de um diretório para outro no Java

  1. Lennon

    Olá… estava olhando agora o seu comentário.. muito bom isso aí!
    Só tem um erro no código..
    na parte:
    dstChannel.transferFrom(oriChannel, 0, destChannel.size());

    ao invés de destChannel.size(), é oriChannel.size()

    ou seja.. você deve pegar o tamanho do arquivo de origem.. e não de destino.. o de destino ainda é vazio! =]

    Responder
  2. Paulo Afonso

    Tentei executar mais deu o seguinte exception
    Exception in thread “main” java.io.FileNotFoundException: C:\Teste (Acesso negado)

    Alguem pode me ajudar?

    Responder
  3. Gustavo

    Voce nao especificou, q biblioteca pertence esse “FileChannel” e meu codigo diz assim…
    symbol : class FileChannel
    location: class Backup
    FileChannel oriChannel = new FileInputStream(“C:/Documents and Settings/GustavoJapan/Meus documentos/Projeto”).getChannel();
    ^
    C:\Documents and Settings\GustavoJapan\Meus documentos\Java Jedi\Backup.java:35: cannot find symbol
    symbol : class FileChannel
    location: class Backup
    FileChannel destChannel = new FileOutputStream(“D:/Java”).getChannel();
    ^

    2 errors

    Process completed.

    pode me ajudar?

    Responder

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *