Dúvida ao renomear arquivo...  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
Alexandre Gazola
JavaTeenager
[Avatar]

Membro desde: 23/07/2004 14:48:23
Mensagens: 176
Localização: Rio de Janeiro
Offline

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

Alexandre Gazola

Blog: http://alexandregazola.wordpress.com

"Que proveito tem o homem ganhar o mundo inteiro e perder a sua alma?" (Mc. 8:36)

"Buscai, em primeiro lugar, o Reino de Deus e a sua justiça, e todas essas coisas vos serão dadas por acréscimo" (Mt. 6:33)
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

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.
[WWW]
Alexandre Gazola
JavaTeenager
[Avatar]

Membro desde: 23/07/2004 14:48:23
Mensagens: 176
Localização: Rio de Janeiro
Offline

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.

Alexandre Gazola

Blog: http://alexandregazola.wordpress.com

"Que proveito tem o homem ganhar o mundo inteiro e perder a sua alma?" (Mc. 8:36)

"Buscai, em primeiro lugar, o Reino de Deus e a sua justiça, e todas essas coisas vos serão dadas por acréscimo" (Mt. 6:33)
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

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.
[WWW]
Alexandre Gazola
JavaTeenager
[Avatar]

Membro desde: 23/07/2004 14:48:23
Mensagens: 176
Localização: Rio de Janeiro
Offline

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

Alexandre Gazola

Blog: http://alexandregazola.wordpress.com

"Que proveito tem o homem ganhar o mundo inteiro e perder a sua alma?" (Mc. 8:36)

"Buscai, em primeiro lugar, o Reino de Deus e a sua justiça, e todas essas coisas vos serão dadas por acréscimo" (Mt. 6:33)
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

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.)

[WWW]
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team