Oi pessoal,
não estou conseguindo de forma alguma renomear um determinado arquivo aqui. Estou usando o código abaixo:
File f = new File(“C:\Documents and Settings\user\myFile”);
f.renameTo(new File(f.getParent() + “\myFileRenamed”));
Mas nao quer funcionar. Estou querendo renomear o arquivo “myFile” do diretório “C:\Documents and Settings\user” para “myFileRenamed”.
Eu consegui fazer isso normalmente para outros arquivos que possuiam uma extensão no nome. Mas para esse arquivo “myFile” (o qual nao possui extensao no nome) nao deu certo (“myFile” é um arquivo do tipo DBF).
Se alguém souber o que está acontecendo.
Obrigado
Pode ser que o arquivo .dbf esteja ainda aberto (talvez pela sua própria aplicação). Se ele estiver aberto, o Windows não deixa o arquivo ser movido ou renomeado.
Rapaz, acho q nao é isso nao.
Tanto o método canRead() quanto o canWrite() me retornam true. Ou seja, não haveria motivos para eu não poder renomear.
canRead e canWrite não têm nada a ver com o que você está achando.
“canRead” normalmente retorna sempre true se o arquivo existir, e “canWrite” só diz se o atributo “read/only” está desligado.
Em caso de dúvida, consulte o código-fonte em C++ do JDK, que tem as implementações nativas de canRead e canWrite.
Certo. De qq forma, o arquivo existe( o que prova que não estou digitando um caminho para um arquivo inexistente). Se for o caso que ele está sendo utilizado de alguma forma pela aplicação, vc sabe como eu poderia fazer para liberar o acesso a ele?
Valeu
Boa pergunta.
Você usou o tal do DBF antes (usando uma conexão de banco de dados, digamos?)
Não sei se o driver JDBC (ou ODBC, o que é pior ainda) que você está usando libera o arquivo DBF depois de você ter fechado todas as conexões (Connection, ResultSet, etc.)