扫描文件夹并按层次输出文件夹内容
今天这个功能的实现并不难,主要是考一个思考方法,用递归遍历所有子文件夹及子文件,这个是一个点;另一个点就是怎么按层次输出,这就考到了对File类的操作了,如果你很熟悉这个类,那么你一定知道有一个file.parent方法,这是用来干嘛的呢,我也不卖关子,就是用来求出给定文件夹的父目录的绝对路径,那么这就是一个突破口了,每个标准文件或者文件夹都要其父目录,而且一个目录里的标准文件及文件夹的父目录也是一脉相承的,区别在于多一些目录而已,我们就可以利用这个输出制表符来实现按层区分,那么这就简单了,只要求出父目录中的/个数,我们就可以按/个数+1来输出制表符个数了,毕竟我们的输出所给的文件作为根目录嘛~下面是我的代码:
import java.io.File;
import java.util.Objects;
/**
* 扫描文件夹并按层次输出文件夹的子文件夹与子文件
* @author July.Jul
*
*/
public class FileDemo {
private int count = 0;
//返回字符串中的\数
public int getnum(String s){
int num = 0;
for (int i = 0; i < s.length(); i++) {
if(s.charAt(i) == '\\' ){
num += 1;
}
}
return num;
}
public void read(F