android使用File类遍历文件夹、读取文件夹
来源:网络收集 点击: 时间:2024-05-17有时候,我们需要读取一个文件夹中所有的文件。
2/4首先,在D盘创建了一个文件夹alsp,然后在这个文件夹下创建多个文件

代码如下图所示:
File sceneFile = new File(D:\\alsp);
File files = sceneFile.listFiles();
if (null != files) {
for (int i = 0; i files.length; i++) {
System.out.println(文件夹下的文件: + files.getName());
}
}

解释下上述代码:
首先,通过File sceneFile = new File(D:\\alsp);创建一个File对象sceneFile ,指向目录D:/alsp
然后通过sceneFile.listFiles()获取该目录下所有的文件及目录的绝对路径,该方法和list不同,list返回的是String数组,而listFiles返回的是File数组,所以,这里通过一个File files创建一个File类型的数组,接收返回值。
然后,通过一个for循环,将files数组中的所有的值全部取出,并打印他们的名字。

有时候,我们需要遍历一个文件夹下所有的文件及子文件夹里的文件。
2/5这个例子需要用到上面说的读取文件夹的操作。因为要先读取文件夹里的所有内容,才能进一步进行遍历
3/5代码如下:
void listDirectory(File dir){
if (!dir.exists()){
System.out.println(目录不存在);
return;
}
if (!dir.isDirectory()){
System.out.println(不是一个目录);
return;
}
File files = dir.listFiles();
if (files!=null files.length 0){
for (File file : files){
if (file.isDirectory()){
listDirectory(file);
}
else{
System.out.println(file);
}
}
}
}

解析上面的这个listDirectory方法,其用到了递归的概念,就是自己调自己,直到条件不满足。首先获取目录下所有的文件,然后判断是否有目录,如果有目录再递归一遍,直到没有目录为止
5/5执行结果如下,可以看到,列出了所有的文件及子文件夹下的文件

版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_789203.html