Ho circa 500 file di testo all'interno di una directory con lo stesso prefisso nel loro nome file dire dailyReport_
.Elimina file con lo stesso prefisso stringa utilizzando Java
L'ultima parte del file è la data del file. (Per esempio. dailyReport_08262011.txt
, dailyReport_08232011.txt
)
voglio cancellare questi file utilizzando una procedura di Java (potrei andare per uno script di shell e aggiungerlo un lavoro nel crontab ma l'applicazione è destinata a utilizzato da laici).
posso cancellare un singolo file utilizzando qualcosa di simile
try{
File f=new File("dailyReport_08232011.txt");
f.delete();
}
catch(Exception e){
System.out.println(e);
}
ma posso cancellare i file con un certo prefisso (ad es: dailyReport08
per l'8 ° mese) ho potuto facilmente farlo in script di shell utilizzando rm -rf dailyReport08*.txt
.
Ma File f=new File("dailyReport_08*.txt");
non funziona in Java (come previsto).
Ora è possibile qualcosa di simile in Java senza eseguire un ciclo che cerca nella directory i file?
Posso ottenere questo utilizzando alcuni caratteri speciali simili a *
utilizzati nello script di shell?
Cosa non va con loop? – user802421
mi sento anche lo stesso ... perché non loop? – amod
So che è possibile con loop ... ma come ho detto potrei avere un numero elevato di file (500 è solo un numero) ... quindi invece di usare un ciclo se è possibile viceversa come uno script di shell Sento che sarebbe meglio ... –