Android开发Android开发经验谈Android知识

Android build文件的删除

2017-11-26  本文已影响430人  zgsHighwin
  • Android 删除所有build编译文件,翻译磁盘空间

  public static void main(String[] args) {
     //传入一个目录。
     deleteFileWithThread("D:\\");

/**
* 这里开了多个线程,提高效率
**/
private static void deleteFileWithThread(String path) {
     File file = new File(path);
     if (file.isDirectory()) {
         File[] files = file.listFiles();
         int length = files.length;
         for (File outFile : files) {
             if (outFile.isDirectory()) {
                 File[] filesIn = outFile.listFiles();
                 if (filesIn != null) {
                     int lengthIn = filesIn.length;
                     for (int i = 0; i < lengthIn; i++) {
                         int a = i;
                         new Thread() {
                             @Override
                             public void run() {
                                 delDir(filesIn[a]);
                             }
                         }.start();
                     }
                 }
             }
         }
     }
 }
 }

//采用递归的方式去删除文件夹
public static void delDir(File f) {
     // 判断是否是一个目录, 不是的话跳过, 直接删除; 如果是一个目录, 先将其内容清空.
     if (f.isDirectory()) {
         File[] rootFile = f.listFiles();
         for (File file : rootFile) {
             if (file.isDirectory()) {
                 if ("build".equals(file.getName())) {  //删除build的文件夹和文件夹中的所有内容
                     System.out.println("fileName delete\t" + file.getAbsolutePath() + "\t" + file.getName());
                     deleteFile(file);
                     file.delete();
                 } else {
                     delDir(file);

                 }
             }
         }
     }
 }
   private static void deleteFile(File file) {
        if (file.exists()) {//判断文件是否存在
            if (file.isFile()) {//判断是否是文件
                file.delete();//删除文件
                System.out.println("fileName delete\t" + file.getAbsolutePath() + "\t" + file.getName());
            } else if (file.isDirectory()) {//否则如果它是一个目录
                File[] files = file.listFiles();//声明目录下所有的文件 files[];
                for (int i = 0; i < files.length; i++) {//遍历目录下所有的文件
                    deleteFile(files[i]);//把每个文件用这个方法进行迭代
                }
                file.delete();//删除文件夹
                System.out.println("fileName delete\t" + file.getAbsolutePath() + "\t" + file.getName());
            }
        }
    }

通过以上的代码就能删除Android 工程下面的所有build的文件夹的内容了。

上一篇下一篇

猜你喜欢

热点阅读