Java 遍歷目錄下所有文件

思路:1.新建一個File對象,其中files爲要遍歷的文件地址。

File file = new File(files);

          2.申請兩個ArryList空間,一個存放目錄,一個存放文件

List<File> fileList = new ArrayList<File>();//文件存儲
List<File> filesListDir = new ArrayList<File>();//目錄存儲

           3.讀取目錄下的所有文件

File[] fileArr = file.listFiles();  //獲取目錄下文件

           4.判斷是否是文件,如果是則放在存文件,如果不是則存放目錄到

for (File f : fileArr) {

    if (f.isFile()) {

        fileList.add(f.getAbsoluteFile());

    } else if (f.isDirectory()) {

       filesListDir.add(f);

    }
}

      5.對存放目錄的ArryList進行遍歷,把目錄繼續放在存放目錄的ArryList中,文件放在存放文件的ArryList中。這樣,以存放目錄的ArryList非空爲循環條件,就會一直遍歷下去,直到沒有目錄。

while (!filesListDir.isEmpty()){
    /****
     * 每讀取一次目錄,刪除ArryList中第一個目錄。
     */
    File files2 = filesListDir.remove(0);
    File [] filesdir = files2.listFiles();

    for (File f3 : filesdir) {

        if (f3.isDirectory()) {

            filesListDir.add(f3);

        } else if (f3.isFile()) {
            fileList.add(f3.getAbsoluteFile());


        }
    }
}

      如果需要上傳,只需循環遍歷存放文件的ArryList上傳即可

for (File f1 : fileList) {

   
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章