Bài 205: Liệt kê tất cả file và folder trong một folder

Ngày đăng: 1/6/2023 9:51:52 AM

Dưới đây là ví dụ liệt kê tất cả file và folder trong một folder sử dụng hàm đệ quy:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37     

import java.io.File;

import java.util.Arrays;

import java.util.Comparator;

 

public class MyFiles {

    public static void main(String[] args) {

        File fileOrDir = new File("E:\web_tut");

        MyFiles myFiles = new MyFiles();

        myFiles.traverseDepthFiles(fileOrDir);

    }

     

    public void traverseDepthFiles(final File fileOrDir) {

        // check xem fileOrDir la file hay foder

        if (fileOrDir.isDirectory()) {

            // in ten folder ra man hinh

            System.out.println(fileOrDir.getAbsolutePath());

             

            final File[] children = fileOrDir.listFiles();

            if (children == null) {

                return;

            }

            // sắp xếp file theo thứ tự tăng dần

            Arrays.sort(children, new Comparator<File>() {

                public int compare(final File o1, final File o2) {

                    return o1.getName().compareTo(o2.getName());

                }

            });

            for (final File each : children) {

                // gọi lại hàm traverseDepthFiles()

                traverseDepthFiles(each);

            }

        } else {

            // in ten file ra man hinh

            System.out.println(fileOrDir.getAbsolutePath());

        }

    }

}

Output:

 E:web_tut
 E:web_tutcss
 E:web_tutcsscss-la-gi.txt
 E:web_tutjava
 E:web_tutjavajava-io
 E:web_tutjavajava-iojava-io-la-gi.txt
 E:web_tutjavajava-la-gi.txt

Nguồn tin: viettuts.vn