Java遍历目录

一 代码实现
package com.imooc.io;
import java.io.IOException;
import java.io.File;
 
//列出File的一些常用操作比如过滤、遍历等操作
public class FileUtils {
//列出指定目录下(包括子目录)的所有文件
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();//返回的是字符串数组,不包含子目录下的内容
for(String name:filenames){
System.out.println(dir+"\\"+name);
}*/
 
//如果要遍历子目录下的内容,就需要构造成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 com.imooc.io;
import java.io.File;
import java.io.IOException;
public class FileUtiltest1 {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
FileUtils.listDirectory(new File("E:\\Hadoop"));
}
}
 
三 实现效果
E:\Hadoop\556fccbb00019d7b00000000.rar
E:\Hadoop\第五章-代码\5-1\WordCount.java
E:\Hadoop\第五章-代码\5-2\Sort.java

猜你喜欢

转载自cakin24.iteye.com/blog/2396271