Java File listFiles()方法及示例

Java File listFiles()方法及示例

listFiles() 方法是File类的一部分。该函数返回一个Files数组,表示给定的抽象路径名中的文件,如果该路径名是一个目录,则返回null。该函数是一个重载函数。其中一个函数没有任何参数,第二个函数使用FilenameFilter对象作为参数,第三个函数使用FileFilter对象作为参数。

函数签名

public File[] listFiles()
public File[] listFiles(FilenameFilter f)
public File[] listFiles(FileFilter f)

函数语法

file.listFiles()
file.listFiles(filter)

参数: 该函数是一个重载函数

  • 其中一个函数没有任何参数。
  • 第二个函数使用FilenameFilter对象作为参数。
  • 第三个函数以FileFilter对象为参数。

返回值 :该函数返回一个文件数组,如果文件对象是一个文件,则返回空值。

异常: 如果该函数不允许对文件进行读取访问,该方法会抛出 安全异常

下面的程序将说明listFiles()函数的使用情况

例1: 我们将尝试找到一个给定目录中的所有文件和目录

// Java program to demonstrate the
// use of listFiles() function
  
import java.io.*;
  
public class solution {
    public static void main(String args[])
    {
  
        // try-catch block to handle exceptions
        try {
  
            // Create a file object
            File f = new File("f:\\program");
  
            // Get all the names of the files present
            // in the given directory
            File[] files = f.listFiles();
  
            System.out.println("Files are:");
  
            // Display the names of the files
            for (int i = 0; i < files.length; i++) {
                System.out.println(files[i].getName());
            }
        }
        catch (Exception e) {
            System.err.println(e.getMessage());
        }
    }
}

输出

Files are:
1232.txt
1245.txt
5671.txt
program1

例2: 我们将尝试在一个给定的目录中找到名称以 “12 “开头的所有文件和目录。

// Java program to demonstrate the
// use of listFiles() function
  
import java.io.*;
  
public class solution {
    public static void main(String args[])
    {
  
        // try-catch block to handle exceptions
        try {
  
            // Create a file object
            File f = new File("f:\\program");
  
            // Create a FilenameFilter
            FilenameFilter filter = new FilenameFilter() {
  
                public boolean accept(File f, String name)
                {
                    return name.startsWith("12");
                }
            };
  
            // Get all the names of the files present
            // in the given directory
            // and whose names start with "12"
            File[] files = f.listFiles(filter);
  
            System.out.println("Files are:");
  
            // Display the names of the files
            for (int i = 0; i < files.length; i++) {
                System.out.println(files[i].getName());
            }
        }
        catch (Exception e) {
            System.err.println(e.getMessage());
        }
    }
}

输出

Files are:
1232.txt
1245.txt

例3: 我们将尝试在一个给定的目录中找到所有的文件和目录,这些文件是文本文件。

// Java program to demonstrate the
// use of listFiles() function
  
import java.io.*;
  
public class solution {
    public static void main(String args[])
    {
  
        // try-catch block to handle exceptions
        try {
  
            // Create a file object
            File f = new File("f:\\program");
  
            // Create a FileFilter
            FileFilter filter = new FileFilter() {
  
                public boolean accept(File f)
                {
                    return f.getName().endsWith("txt");
                }
            };
  
            // Get all the names of the files present
            // in the given directory
            // which are text files
            File[] files = f.listFiles(filter);
  
            System.out.println("Files are:");
  
            // Display the names of the files
            for (int i = 0; i < files.length; i++) {
                System.out.println(files[i].getName());
            }
        }
        catch (Exception e) {
            System.err.println(e.getMessage());
        }
    }
}

输出

Files are:
1232.txt
1245.txt
5671.txt

这些程序可能无法在在线IDE中运行。请使用离线IDE并设置文件的父文件

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程