Mover arquivo utilizando o renameTO()

Olá pessoal,

estou com o seguinte problema: estou tentando remover um arquivo de um diretorio pro outro. Quero que ele funcione com o recortar e colar do windows.

segue o código:

arqIn = new File(pathArquivoOrigem); arqOut = new File(PathArquivoDestino); arqIn.renameTo(arqOut);

Ele até cria outro arquivo no diretório de destino, mas cria um arquivo em branco, não copia o conteúdo.
Além disso, o arquivo de origem(ArqIn) não é removido.

Alguém sabe pq isso acontece ?
Exixte Alguma proteção que devo Habilitar/desabilitar no arqIn ?

Muito estranho isto…

O Arquivo não ta marcado como somente leitura nas propriedades dele???

Uso muito isto, e sempre funcionou bem… nunca vi isto…

:shock:

renameTo só funciona quando você quer mover um arquivo de um diretório para outro, se você tiver as permissões adequadas e se eles estiverem dentro da mesma partição.

Por exemplo, você não pode mover um arquivo do disco “C:” para o disco “D:” com “renameTo”, já que é necessária uma cópia física para isso ocorrer.

Boa Thingol, esta não sabia, nem nunca tinha precisado, mas é bom saber, pra mudar de Driver, tem q se fazer malabarismo então!!!???

Tem alguma maneira official e “simples” para se fazer isto, ou tem q fazer uma operação IO só para isto???

Não é malabarismo. Copie o arquivo, e então apague o original.

Não sei se isso se aplica, por exemplo, ao Unix/Linux - é questão de experimentar. (Normalmente /home está em uma partição e /tmp está em outra)

Mas ai q tá para Copiar o Arquivo tem q se fazer um IOStream não???!!! E ler os bytes de do input e mandar gravar no output até o fim do arquivo, byte a byte, ou com buffer, mas tem q se fazer manualmente, ou tem alguma maneira mais simples??? :?

Como aqui:

http://forum.java.sun.com/thread.jspa?threadID=424857&tstart=270

Agora se for uma Pasta ai lascou tudo, grande trabalheira, podia se resumir a um metodo, um advancedRenameTo por exemplo :smiley:

Valeu galera,

consegui resolver.

O erro era o seguinte, eu uso um metodo que retorna a pasta temp do usario logado -> C:\Documents and Settings\joao\Configurações locais\Temp

Só que o metodo estava retornando o endereço omitino uma …

nada com um bom debug.

Valeu,