JAVA遍历一个文件夹中的所有文件---(递归)

遍历一个文件夹中的所有文件---(递归)... 遍历一个文件夹中的所有文件---(递归) 展开
 我来答
兔丞飞
高粉答主

2018-12-15 · 专注娱乐 专注娱乐 专注娱乐
兔丞飞
采纳数:25 获赞数:19893

向TA提问 私信TA
展开全部

public void traverseFolder2(String path) {

File file = new File(path);        

if (file.exists()) {

File[] files = file.listFiles();            

if (null == files || files.length == 0) {

System.out.println("文件夹是空的!");                

return;

} else {                

for (File file2 : files) {                    

if (file2.isDirectory()) {

System.out.println("文件夹:" + file2.getAbsolutePath());

traverseFolder2(file2.getAbsolutePath());

} else {

System.out.println("文件:" + file2.getAbsolutePath());

}

}

}

} else {

System.out.println("文件不存在!");

}

}

扩展资料

public void traverseFolder1(String path) {        

int fileNum = 0, folderNum = 0;

File file = new File(path);        

if (file.exists()) {

LinkedList<File> list = new LinkedList<File>();

File[] files = file.listFiles();            

for (File file2 : files) {                

if (file2.isDirectory()) {

System.out.println("文件夹:" + file2.getAbsolutePath());

list.add(file2);                    

foldeNum++;

} else {

System.out.println("文件:" + file2.getAbsolutePath());

fileNum++;

}

}

File temp_file;            

while (!list.isEmpty()) {

temp_file = list.removeFirst();


files = temp_file.listFiles();                

for (File file2 : files) {                    

if (file2.isDirectory()) {

System.out.println("文件夹:" + file2.getAbsolutePath());

list.add(file2);

folderNum++;

} else {

System.out.println("文件:" + file2.getAbsolutePath());

fileNum++;

}

}

}

} else {

System.out.println("文件不存在!");

}

System.out.println("文件夹共有:" + folderNum + ",文件共有:" + fileNum);

}

参考资料:百度百科 Java

岑行柏3204
2009-02-18 · TA获得超过2435个赞
知道大有可为答主
回答量:1549
采纳率:0%
帮助的人:1318万
展开全部
import java.io.File;
public class Test {
public static void main(String[] args) throws Exception {
//递归显示C盘下所有文件夹及其中文件
File root = new File("c:");
showAllFiles(root);
}

final static void showAllFiles(File dir) throws Exception{
File[] fs = dir.listFiles();
for(int i=0; i<fs.length; i++){
System.out.println(fs[i].getAbsolutePath());
if(fs[i].isDirectory()){
try{
showAllFiles(fs[i]);
}catch(Exception e){}
}
}
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
rffffffff007
2009-02-18 · TA获得超过299个赞
知道小有建树答主
回答量:273
采纳率:0%
帮助的人:357万
展开全部
private static ArrayList filelist = new ArrayList();

public static void main(String[] args) {
refreshFileList("c:\\java");
}
public static void refreshFileList(String strPath) {
File dir = new File(strPath);
File[] files = dir.listFiles();

if (files == null)
return;
for (int i = 0; i < files.length; i++) {
if (files[i].isDirectory()) {
refreshFileList(files[i].getAbsolutePath());
} else {
String strFileName = files[i].getAbsolutePath().toLowerCase();
System.out.println("---"+strFileName);
filelist.add(files[i].getAbsolutePath());
}
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shenzyl
2009-02-18 · TA获得超过669个赞
知道小有建树答主
回答量:1163
采纳率:0%
帮助的人:887万
展开全部
你想做什么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ivan0609
2009-02-18 · TA获得超过122个赞
知道小有建树答主
回答量:275
采纳率:100%
帮助的人:189万
展开全部
jdk那个文件有个,你看看,是demo那个文件夹
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式