How to list all files and folders locating on sd card

前端 未结 6 1805
抹茶落季
抹茶落季 2020-12-01 03:14

I have made a program that list all files and folders(f&f) locating on sd card. If i touch one of the list item ( if it is a folder ) then the list shows faf locating on

6条回答
  •  北海茫月
    2020-12-01 03:42

    import java.io.*;
    import java.util.*;
    public class DirUtils {
    
      public static List recurseDir(String dir) {
          String result, _result[];
    
          result = recurseInDirFrom(dir);
          _result = result.split("\\|");
          return Arrays.asList(_result);
      }
    
      private static String recurseInDirFrom(String dirItem) {
        File file;
        String  result,list[];
    
        result = dirItem;
    
        file = new File(dirItem);
        if (file.isDirectory()) {
          list = file.list();
          File[] fileslist = file.listFiles(new MyDocFileFilter());
        if (fileslist != null) {
          for (File file1: fileslist) {
            System.out.println(file1.getAbsolutePath());
          }
        } 
        else {
          System.out.println("No Subdirectory Found.");
        }
          for (int i = 0; i < list.length; i++)
            result = result + "\n" + recurseInDirFrom(dirItem + File.separatorChar + list[i]);
          }
        return result;
      }
    
     static class MyDocFileFilter implements FileFilter
    {
      private final String[] myDocumentExtensions 
                   = new String[] {".java", ".png", ".html", "class"};
    
      public boolean accept(File file) {
    
        if (!file.isFile())
            return false;
    
        for (String extension : myDocumentExtensions) {
          if (file.getName().toLowerCase().endsWith(extension))
            return true;
        }
        return false;
      }
    }
    
      public static void main(String arg[]) {
        DirUtils.recurseDir("your path ");
    
    
    
      }
    }
    

提交回复
热议问题