در نهایت این کد رو نوشتم میزارم دوستانم خواستن استفاده کنند. فقط مواظب باشید خیلی خطرناکه
کد زیر هرچی فایل باشه تو پوشه هایی که داخل پوشه ای که ادرس می دید هست رو به جز "jpg","png","psd" ها حذف میکنه. که میتونید پسوندها رو در متغیر notRmvFile کم و زیاد کنید
import java.io.File;
import java.util.Scanner;
/**
*
* @author abbasalim
*/
public class Fileremover {
static int cntr=0;
// final static String[] notRmvFile=new String[]{"doc","txt","docx"};
final static String[] notRmvFile=new String[]{"jpg","png","psd"};
public static void main(String[] args) {
// TODO code application logic here
System.out.println("Hello :)");
System.out.print("i'm a file remover!!!! that remove All Files Expect ");
for(String ext:notRmvFile)
System.out.print(ext+",");
System.out.println(" files\n Please input your Folder Path:");
Scanner scan =new Scanner(System.in).useDelimiter("\n");
String Path = scan.next();
File root = new File(Path);
if (root.isDirectory())
init(root,0);
System.out.println("finished "+cntr+" file Scanned");
}
private static void init(File root,int lvl){
int index=0;
cntr++;
for(String file:root.list()){
index++;
File sub =new File(root.getPath()+File.separator+file);
if (sub.isFile()) {
// System.out.println(lvl+"_"+index+": "+sub.getName() + " isFile");
boolean isExcept=false;
for(String ext: notRmvFile){
if (sub.getName().toLowerCase().indexOf("."+ext.toLowerCase())!=-1)
isExcept=true;
}
if (!isExcept) {
System.out.println(sub.getName()+" rmvd");
sub.delete();//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
}
}else{
// System.out.println(lvl+"_"+index+": "+sub.getName() + " isFolder");
init(sub,lvl+1);
}
}
}
}