日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java 文件 递归_JAVA实现遍历文件夹下的所有文件(递归调用和非递归调用)

發布時間:2024/1/23 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 文件 递归_JAVA实现遍历文件夹下的所有文件(递归调用和非递归调用) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

JAVA 遍歷文件夾下的所有文件(遞歸調用和非遞歸調用)

1.不使用遞歸的方法調用.

public void traverseFolder1(String path) {

int fileNum = 0, folderNum = 0;

File file = new File(path);

if (file.exists()) {

LinkedList list = new LinkedList();

File[] files = file.listFiles();

for (File file2 : files) {

if (file2.isDirectory()) {

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

list.add(file2);

fileNum++;

} else {

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

folderNum++;

}

}

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);

fileNum++;

} else {

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

folderNum++;

}

}

}

} else {

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

}

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

}

2.使用遞歸的方法調用.

public void traverseFolder2(String path) {

File file = new File(path);

if (file.exists()) {

File[] files = file.listFiles();

if (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("文件不存在!");

}

}

3,

public static List getFileList(String strPath) {

File dir = new File(strPath);

File[] files = dir.listFiles(); // 該文件目錄下文件全部放入數組

if (files != null) {

for (int i = 0; i < files.length; i++) {

String fileName = files[i].getName();

if (files[i].isDirectory()) { // 判斷是文件還是文件夾

getFileList(files[i].getAbsolutePath()); // 獲取文件絕對路徑

} else if (fileName.endsWith("avi")) { // 判斷文件名是否以.avi結尾

String strFileName = files[i].getAbsolutePath();

System.out.println("---" + strFileName);

filelist.add(files[i]);

} else {

continue;

}

}

}

return filelist;

}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

總結

以上是生活随笔為你收集整理的java 文件 递归_JAVA实现遍历文件夹下的所有文件(递归调用和非递归调用)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。