Renomear arquivo sabendo apenas a extenção

3 respostas
P

Bom dia pessoal!!

Seguinte eu to com um probleminha aqui: é assim eu preciso renomear um arquivo de uma pasta, mas a unica coisa que eu sempre vou saber é a extencao deste arquivo, no windows usa-se o comando REN *.EXT NOME.EXT eu fiz em java um programa para fazer isto mas so da certo quando eu sei o nome completo do arquivo o fonte esta abaixo:

File antigo = new File("c:\bases\*..txt"); //assim q nao funciona
         	 File novo	 = new File("c:\bases\novo.txt");
         	          	          	 
         	 boolean renomear = antigo.renameTo(novo);
         	 
         	 if (!renomear){
         	 	
         	 	JOptionPane.showMessageDialog(null,
         	 	"Nao foi possivel renomear arquivo!!!" , "Erro" ,
         	 	JOptionPane.ERROR_MESSAGE);

como que eu posso alterar isto para poder fazer o que eu quero alguem pode me dar uma ajuda ai .. blz
[size="11"][color="red"]* Editado: Lembre-se de utilizar BBCode em seus códigos - Ratinho[/color][/size] :joia:

3 Respostas

C

Não entendi o pq de tu fazer isso, e se existir uns 10 arquivos com extenção .txt ? vc n vai poder renomear td com um nome so ne ?

P

Viu kara seguinte eu preciso assim mesmo pois na pasta sempre tera apenas um unico arquivo e sempre depois que eu encerrar meu codigo eu deixo a pasta limpa para ser colocado nela novamente um so arquivo

blz

F

Instancia a classe File passando a pasta e depois chame o método listFiles que retorna um array de File’s, se vai existir apenas um arquivo no diretório então basta peguar o primeiro elemento do array (caso exista mais de um arquivo, porem com extensões diferentes, percorra o array procurando o que tem a extensão especificada):

File pasta = new File("c:\bases");
File arquivos[] = pasta.listFiles();
File novo    = new File("c:\bases\novo.txt");
if (arquivos.length < 1){
 System.out.println("Não existe nenhum arquivo na pasta.");
}
else{
 if (!arquivos[0].renameTo(novo)){
  System.out.println("Não foi possivel renomear.");
 }
}
Criado 24 de agosto de 2006
Ultima resposta 24 de ago. de 2006
Respostas 3
Participantes 3