Apagar arquivos na pasta

6 respostas
snowblacksoul

Pessoal bom dia a todos, estou precisando da ajuda da galera.
Seguinte preciso apagar os arquivos com extensão .txt,.sql,.out dentro de uma pasta, como faço isso?!

Eu conseguir apagar apenas com uma extensão e para apagar com as trÊs de uma vez tem jeito!?

o codigo do que eu fiz!

String arq = ".+\\.txt";  
File pasta = new File("c:\\teste");  
File[] arquivos = pasta.listFiles();  
  
for(int i=0;i<arquivos.length;i++){  
   if(arquivos[i].getName().matches(arq)){  
      arquivos[i].delete();  
   }  
}

agradeço a todos>

6 Respostas

diego.sas

Dois else if, não resolveria?
Poderia ser tbm…if(condicao || condicao2 || condica3)

snowblacksoul

valeu amigo !! clareou a ideia rsrs

deixei assim!!
String regex = ".+\\.txt"; 
	     String arq2 = ".+\\.sql";
	     File pasta = new File("c:\\teste");  
	     File[] arquivos = pasta.listFiles();  
  
	     for(int i=0;i<arquivos.length;i++){  
	    	 if(arquivos[i].getName().matches(regex)){  
	    		 arquivos[i].delete();}
	    		 else{
	    		if(arquivos[i].getName().matches(arq2)){  
	    		 arquivos[i].delete();
	    			 
	    		 }
	    		 }
   }
>
rso1988

Isso resolve seu problema:

File pasta = new File("c:\\teste");    
File[] arquivos = pasta.listFiles();    
    
for(File arquivo : arquivos) {
    if(arquivo.getName().endWith("txt") || arquivo.getName().endWith("sql") || arquivo.getName().endWith("out")) {
        arquivo.delete();
    }
}
snowblacksoul

rso1988 show de bola cara!!!
Valeu mesmo!!! brigadão

só mas uma coisa o que vem a ser “endWith”?!

rso1988

snowblacksoul:
rso1988 show de bola cara!!!
Valeu mesmo!!! brigadão

só mas uma coisa o que vem a ser “endWith”?!

snowblacksoul,

ficou faltando um “s”, na verdade é “endsWith(…)”. Esse método verifica se a String termina com determinado valor. No seu caso, se o nome do arquivo termina com as respectivas extensões.

A

cara,

uma outra forma e elegante… :smiley:

File diretorio = new File("C:\\java"); 
        
        FileFilter ff = new FileFilter() { 
            public boolean accept(File arquivo){ 
                return arquivo.getName().endsWith(".txt") || 
                	   arquivo.getName().endsWith(".sql"); 
            } 
        }; 
        
        File[] arquivos = diretorio.listFiles(ff); 
  
        if(arquivos != null){ 
            for(File arquivo : arquivos){ 
               arquivo.delete();  
            } 
        }
Criado 8 de novembro de 2011
Ultima resposta 8 de nov. de 2011
Respostas 6
Participantes 4