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

java I/O流(3) File类续 遍历文件

2016-07-07 18:23 399 查看
package cn.itstudy.files;

import java.io.File;
import java.io.IOException;

/*
* 创建一个File的工具类
*/
//列出File的一些常用操作,比如过滤、遍历等操作

public class FileUtils {
/**
* 列出指定目录下(包括其子目录)的所有文件
* @param dir
* @throws IOException
*/
public static void listDirectory(File dir) throws IOException{
if(!dir.exists()){      //
throw new IllegalArgumentException("目录:"+dir+"不存在");
}
if(!dir.isDirectory()){
throw new IllegalArgumentException(dir+"不是目录");
}

/*
String[] filenames = dir.list();        //返回字符串数组
//list()方法用于列出当前目录下的子目录和文件,直接子的名称,不包含目录下的内容
for(String string: filenames){
System.out.println(dir+"\\"+string);
}
*/

//如果要遍历子目录下的内容就需要构造成File对象做递归操作
//File提供了直接返回File对象的API
File[] files = dir.listFiles(); //返回的是直接子目录(文件)的抽象
if(files != null && files.length > 0){
for(File file:files){
if(file.isDirectory()){
//递归
listDirectory(file);
}else{
System.out.println(file);
}
}
}
}
}


测试用例:

package cn.itstudy.fileTest;

import java.io.File;
import java.io.IOException;

import cn.itstudy.files.FileUtils;

public class FileUtilTest1 {

/**
* @param args
*/
public static void main(String[] args) throws IOException{
FileUtils.listDirectory(new File("E:\\svn"));

}

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