[RESOLVIDO] Dúvida IO  XML
Índice dos Fóruns » Certificação Java
Autor Mensagem
Murl
JavaChild

Membro desde: 03/04/2009 10:34:42
Mensagens: 116
Localização: DF
Offline



Fiz esse codigo so para entender melhor Serialization... Ai beleza! Deu certo! O objeto foi salvo em outro método... Ai eu recupero ele nesse e da tudo certo. Até chegar em if (file.renameTo(rename)). Nao ta proseguindo o programa! Essa expressão está resultando em "false"!
Alguém sabe por que?
Depois do rename eu nem me preocupei ainda porque o programa nunca passou dali mesmo... =P

Vlws!

edit: btw, so estou querendo renomear o arquivo "nomes.txt" que ja existe pra fazer um backup antes de fazer a operação de escrever!
edit: fazendo file.isFile() retorna true!

This message was edited 3 times. Last update was at 19/06/2009 10:51:12


OMW to SCWCD;

SCJP 6
thingol
Moderador

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

Primeira coisa - você pode trocar isto aqui, que deixa seu programa chumbado no Windows:



para:



Segunda coisa - renameTo não consegue renomear alguma coisa se o arquivo de destino já existir. Você precisa verificar se o destino (que no caso é nomesB.txt) já existe; se existir, remova-o.
[WWW]
Murl
JavaChild

Membro desde: 03/04/2009 10:34:42
Mensagens: 116
Localização: DF
Offline

Beleza! Valeu pela dica! Vou mudar usando o path como diretorio pro construtor do File né!

O arquivo nomesB.txt nao existe =\.

So existe o arquivo nomes.txt!



Fiz esse programa pra testar... Se o arquivo nao existir ele cria e renomeia.. Ok
Se o arquivo "teste2.txt" ja existe, ele cria o arquivo teste.txt, e como você disse nao consegue renomear para "teste2.txt" porque "teste2.txt" já existe.
Se o arquivo "teste.txt" já existe e o arquivo "teste2.txt" não existe... Ele renomeia normalmente o arquivo "teste.txt" para "teste2.txt"!
O meu programa é parecido com esse ultimo caso, ja existe o arquivo "nomes.txt" que eu quero renomear para "nomesB.txt" e não ta dando certo o_o

This message was edited 1 time. Last update was at 19/06/2009 10:23:53


OMW to SCWCD;

SCJP 6
thingol
Moderador

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

Murl wrote:Beleza! Valeu pela dica! Vou mudar usando o path como diretorio pro construtor do File né!

O arquivo nomesB.txt nao existe =\.

So existe o arquivo nomes.txt!


Essa história de "não existe" só acredito vendo
De qualquer maneira, tome sempre um pouco de cuidado - o retorno de renameTo não é particularmente muito confiável no Windows, já que basicamente o Java deixa o abacaxi para a API do Windows "MoveFile" e essa API não é muito católica; eu normalmente faço o seguinte: crio um método que faz 3 coisas:

a) Remove o arquivo destino, caso existir
b) Executa renameTo
c) Checa se o arquivo original não existe mais e se o arquivo destino foi criado com esse nome. Se isso houver ocorrido, eu retorno true, senão retorno false.



[WWW]
Murl
JavaChild

Membro desde: 03/04/2009 10:34:42
Mensagens: 116
Localização: DF
Offline



mudei o nome do arquivo pra você acreditar que ele nao existe entao =P
Rodei 3 vezes e deu 3 numeros diferentes e nao deu certo renomear...

O problema é que nao quero deletar o arquivo pra ele servir como backup entendeu? Logo abaixo eu crio o "nomes.txt" de novo com os novos nomes. Mas ai eu pensei... Se eu somente deletar o arquivo "nomes.txt" e alguma catastrofe acontecer durante o processo de criação dele de novo, tudo será perdido!

edit: esquece... lá atras eu tinha esquecido de fechar um BufferedReader com esse arquivo =X

This message was edited 1 time. Last update was at 19/06/2009 10:51:37


OMW to SCWCD;

SCJP 6
 
Índice dos Fóruns » Certificação Java
Ir para:   
Powered by JForum 2.1.8 © JForum Team