代码比较简单,就直接贴源码了。d代表文件夹,f代表文件。
public class GetFileTreeUtil {
public static String getAppFileTree(Context context) {
return getFileTree(context.getFilesDir().getParentFile());
}
public static String getFileTree(File file) {
return getFileTree(file, 1);
}
private static String getFileTree(File file, int deep) {
if (file.isDirectory()) {
StringBuilder sb = new StringBuilder();
sb.append("d:").append(file.getName());
File subFiles[] = file.listFiles();
if (subFiles.length > 0) {
sb.append(" \n");
for (File sub : subFiles) {
//如果要屏蔽隐藏文件夹或文件,打开下面代码即可
// if (sub.isHidden()) {
// continue;
// }
for (int i = 0; i < deep; i++) {
sb.append(" ");
}
sb.append(getFileTree(sub, deep + 1)).append("\n");
}
sb.deleteCharAt(sb.length() - 1);
}
return sb.toString();
} else {
return "f:" + file.getName();
}
}
}