您的位置:首页 > 编程语言 > Java开发

java.io.File类基本使用——遍历某路径的所有文件夹及文件

2016-03-11 15:45 806 查看
java.io.File类可以用来表示文件或目录,在需要遍历指定路径下的所有文件夹及文件时,可以使用此类。

思路如下:

1、判断给定路径是目录还是文件。

2、如果是文件,则直接打印该文件路径及文件名

3、如果是目录,则先打印该目录路径,并获取该目录下的所有目录及文件,再对每一个文件或目录执行第一步操作。

如此循环,即可获取所有文件

实现:

创建一个FileUtils工具类,并创建getFiles方法:

package utils;

import java.io.File;

public class FileUtils {

public static void getFiles(File dir) {
//如果当前文件或目录存在
if(dir.exists()){
//如果是目录,则:
if(dir.isDirectory()){
//打印当前目录的路径
System.out.println(dir);
//获取该目录下的所有文件和目录组成的File数组
File[] files = dir.listFiles();
//递归遍历每一个子文件
for(File file : files){
getFiles(file);
}
}
//如果是文件,则打印该文件路径及名称
else{
System.out.println(dir);
}
}
}

}


测试:

创建测试类及方法:

package test;

import static org.junit.Assert.*;

import java.io.File;

import org.junit.Test;

import utils.FileUtils;

public class FileUtilsTest {

@Test
public void testGetFiles1() {
File file = new File("/home/xiamingchen/图片");
FileUtils.getFiles(file);
}

}


输出结果如下:

/home/xiamingchen/图片
/home/xiamingchen/图片/Wallpapers
/home/xiamingchen/图片/Wallpapers/3d28fa7220b5cf3c9a4576d4101c6f04.jpg
/home/xiamingchen/图片/Wallpapers/15052410471317.png
/home/xiamingchen/图片/3d28fa7220b5cf3c9a4576d4101c6f04.jpg
/home/xiamingchen/图片/15052410471317.png


所指定路径下的文件如图所示:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  io 文件 遍历