急求用java 输入输出流 编写一程序:输出c盘根目录下所有文件的路径

如题所述

/*问两个问题
只输文件路径,如果是文件夹要不要输出来,
是只输出根目录下的,还是,还是如果根目录下的文件夹还有文件,要也输出来
我按照理解只输出文件而不输出文件夹,如果某个文件夹还有文件,会递归把它下面的文件也输出来
如果有问题可以找我
*/

import java.io.File;
import java.util.ArrayList;
import java.util.List;

/**
* @author jcf0372
*
* date 2011-10-26
*/
public class ListFile {
private static int fileCount = 0;
private static List<String> noPrivilegeFolderPathList = new ArrayList<String>();

public static void listFile(File file) {
File[] files = file.listFiles();
if (files == null) {
noPrivilegeFolderPathList.add(file.getAbsolutePath());
return;
}
int length = files.length;
File f;
for (int i = 0; i < length; i++) {
f = files[i];
if (f.isFile()) {
fileCount++;
System.out.println("第"+fileCount+"个文件:"+f.getAbsolutePath());
} else
listFile(f);
}
}

public static void main(String[] args) {
listFile(new File("C:\\"));
int size = noPrivilegeFolderPathList.size();
System.out.println("\n\n\n共" + fileCount + "个文件(不包含文件夹和无权限文件),有" + size
+ "个文件夹由于权限问题无法读取" + (size == 0 ? "" : "\n这些文件夹列表是:\n\n\n"));
for (int i = 0; i < size; i++) {
System.out.println("第"+(i+1)+"个无权限文件夹:"+noPrivilegeFolderPathList.get(i));
}
}
}
温馨提示:答案为网友推荐,仅供参考
相似回答