Java如何获取目录的内容?

在此示例中,您将看到如何读取目录中的文件列表。要获得此功能,我们可以使用File.listFiles()方法。此方法返回一个File对象数组,该对象可以是文件实例或目录。

package org.nhooo.example.io;

import java.io.File;

import java.io.FilenameFilter;

public class DirectoryContentExample {

    public static void main(String[] args) {

        File gamesDir = new File("D:/Games");

        // 获取上面指定目录下的文件列表 

        // 并将其作为抽象文件对象返回。

        File[] files = gamesDir.listFiles();

        if (files != null) {

            // 迭代游戏目录目录的内容,打印 

            // 并检查它是目录还是目录 

            // 文件。

            for (File file : files) {

                System.out.println(file + " is a "

                    + (file.isDirectory() ? "directory" : "file"));

            }

        }

        // 在这里,我们还获取目录中的文件列表,但是

        // 以String数组形式返回。

        String[] strings = gamesDir.list();

        if (strings != null) {

            for (String file : strings) {

                System.out.println("File = " + file);

            }

        }

        // 现在我们要在目录中列出文件,但是我们 

        //只想要一个扩展名为.doc的文件。为此,我们 

        // 首先创建一个FilenameFilter,它将被赋予 

        // listFiles()方法以筛选列表过程。 

        // 过滤规则在accept()中实现 

        // FilenameFilter接口的方法。

        FilenameFilter filter = new FilenameFilter() {

            public boolean accept(File dir, String name) {

                return name.endsWith(".docx");

            }

        };

        // 在您的目录中,只给我一个.doc文件。

        File[] docs = gamesDir.listFiles(filter);

        if (docs != null) {

            for (File doc : docs) {

                System.out.println("Doc file = " + doc);

            }

        }

    }

}

这是程序的结果:

该File[]数组返回:

D:\Games\AOE is a directory

D:\Games\Championship Manager 2017 is a directory

D:\Games\GameHouse is a directory

D:\Games\Sierra is a directory

D:\Games\testing.doc.docx is a file

D:\Games\TTD is a directory

</pre>

The `String[]` array returned:

<pre>

File = AOE

File = Championship Manager 2017

File = GameHouse

File = Sierra

File = testing.docx

File = TTD

File[]使用FilenameFilter结果的数组:

Doc file = D:\Games\testing.docx

                       

以上是 Java如何获取目录的内容? 的全部内容, 来源链接: utcz.com/z/330746.html

回到顶部