Olá pessoal, tenho uma nova duvida sobre expressao regular é o seguinte:
Eu tenho um programa que vai gerar tal arquivo, eu preciso renomear este arquivo, mas o nome dele nunca vai ser gerado com o mesmo, para eu poder aponta-lo e renomear. Exemplo: O arquivo pode vim com o nome nome_aquivo_10.rtf, nome_arquivo_23.rtf e assim por diante. Não tem uma ordem.
Então pensei na forma de colocar uma expressão regular depois do “nome_arquivo_ … .rtf”, mas ñ sei como criar isso.Alguem pode me ajudar, por favor???
ñ funcionou ñ galera.
O que exatamente esse [0-9]+. vai fazer dentro do meu arquivo.
Alguem pode me ajudar, por favor :s
ajfilho
Mostre o seu código para vermos como fez, e assim poder ajudá-la!
Abraços!
H
Helen_Batista
Este é o meu código:
publicvoidrenomearArquivo(){Filearquivo=newFile("c:\certidao[0-9]+\.rtf");FilearquivoRenomeado=newFile("c:\arquivoRenomeado.rtf");inttempoLimite=0;booleanfoiRenomeado=false;while(!foiRenomeado&&(tempoLimite++)<=60)foiRenomeado=arquivo.renameTo(arquivoRenomeado);if(arquivo.exists()){thrownewexcessaoArquivoProdesp("Arquivo não foi renomeado");}}
H
Helen_Batista
Pessoal,
me ajude por favor =/
H
Helen_Batista
Oi Pessoal, eu fiz o seguinte código
File pasta = new File("c:\tmp");
File arquivos[] = pasta.listFiles();
File novo = new File("c:\tmp\renomeado.rtf");
for(int i=0; i < arquivos.length; i++) {
if(arquivos[i].getName().equals("certidao20.rtf".trim())) {
arquivos[i].renameTo(novo);
}
}
Preciso colocar uma expressão regular no nome do arquivo que quero renomear, pois nunca sei o nome dele. Ele pode vim como “certidao50.rtf”, “certidao15.rft”.
Como posso fazer isso, pessoal??
E
enantiomero
Dona Helen, você quer fazer o equivalente àquele comando do DOS “dir *.rtf” ? (Por exemplo)
Então você pode usar uma outra versão do método listFiles que você usou. Dê uma olhadinha no meu exemplo.
Obrigada pela ajuda, mas tentei rodar o seu codigo pra entender e deu erro. =/
E
enantiomero
Você tem um diretório c:\temp na sua máquina? Se não tiver vai dar erro mesmo.
felipehand
Poderia postar o erro?
H
Helen_Batista
Sim eu tenho esse diretorio na minha maquina. Eu meio que resolvi o problema que estava tendo da seguinte forma:
File pasta = new File("c:\tmp");
File arquivos[] = pasta.listFiles();
File novo = new File("c:\tmp\renomeado.rtf");
for (int i = 0; i < arquivos.length; i++) {
if (arquivos[i].getName().toString().substring(0, 8).equals("certidao")) {
arquivos[i].renameTo(novo);
}
}
Mais estou com mais um problema rs :oops:
Antes de eu renomear o meu arquivo, eu tenho que verificar dentro do meu diretorio se tem algum arquivo existente com a substring(0, 8 ).equals(“certidao”), se existir eu deletar ele.
Como faço isso pessoal?
Obrigada pela ajuda desde já
H
Helen_Batista
Ahe pessoal não precisa responder essa não analisei melhor e eu já resolvi Obrigada
E
enantiomero
Amiga, por favor, leia a documentação. O nome do método é “exists” na classe java.io.File: