Tengo alrededor de 500 archivos de texto dentro de un directorio con el mismo prefijo en su nombre de archivo, por ejemplo dailyReport_
.Eliminar archivos con la misma cadena de prefijo usando Java
La última parte del archivo es la fecha del archivo. (Por ej. dailyReport_08262011.txt
, dailyReport_08232011.txt
)
quiero eliminar estos archivos mediante un procedimiento de Java (podría ir para un script de shell y añadirlo un trabajo en el crontab pero la aplicación está destinada a utilizado por los legos).
puedo borrar un solo archivo usando algo como esto
try{
File f=new File("dailyReport_08232011.txt");
f.delete();
}
catch(Exception e){
System.out.println(e);
}
pero puedo borrar los archivos que tienen un determinado prefijo (por ejemplo: dailyReport08
para el mes octavo) que fácilmente podría hacer que en shell script mediante el uso de rm -rf dailyReport08*.txt
.
Pero File f=new File("dailyReport_08*.txt");
no funciona en Java (como se esperaba).
Ahora, ¿es posible tal cosa en Java sin ejecutar un bucle que busca archivos en el directorio?
¿Se puede lograr esto usando algunos caracteres especiales similares a *
utilizados en el script de shell?
Lo malo en bucle? – user802421
también siento lo mismo ... ¿por qué no loop? – amod
Sé que es posible con el bucle ... pero como he dicho, podría tener una gran cantidad de archivos (500 es solo un número) ... así que en lugar de usar un bucle, si es posible, al revés, como un script de shell Siento que sería mejor ... –