Home >Java >javaTutorial >Java uses the accept() function of the FileNameFilter class to filter files in the specified directory
Java uses the accept() function of the FileNameFilter class to filter files in the specified directory
Introduction:
In Java, we often need to filter files in the specified directory. At this time, you can use the FileNameFilter interface to filter file names. This article will introduce how to use the accept() function of the FileNameFilter class to implement file filtering, and provide corresponding code examples.
1. What is FileNameFilter?
FileNameFilter is an interface that defines the accept(File dir, String name) method for filtering files in the directory. When this method returns true, it means that the file is accepted, otherwise it is not accepted.
2. How to use FileNameFilter to filter files?
The steps to use the FileNameFilter interface for file filtering are as follows:
The following is an example of how to use FileNameFilter to filter files in a specified directory:
import java.io.*; public class FileFilterExample { public static void main(String[] args) { File dir = new File("C:/folder");//指定目录 String[] fileList; //创建一个实现了FileNameFilter接口的内部类 FileNameFilterImpl filter = new FileNameFilterImpl(".txt"); //调用listFiles()方法获取目录下的所有文件 fileList = dir.list(filter); //遍历文件名数组 for (String fileName : fileList) { System.out.println(fileName); } } //实现FileNameFilter接口的内部类 static class FileNameFilterImpl implements FilenameFilter { private String ext;//扩展名 public FileNameFilterImpl(String ext) { this.ext = ext; } //实现accept()方法 public boolean accept(File dir, String name) { return name.toLowerCase().endsWith(ext);//只接受指定扩展名文件 } } }
In the above sample code, we created an internal class that implements the FileNameFilter interface FileNameFilterImpl. In the accept() method, we filter out all txt files in the specified directory by determining whether the extension of the file name is ".txt".
In the main() method, we first create a File object, representing the C:/folder directory. Then, we created a FileNameFilterImpl object and passed it as a parameter to the File object's list() method. The list() method returns a String array representing the filtered file list. Finally, we used a for loop to traverse and output the filtered file names.
The above is this article’s introduction to Java’s use of the accept() function of the FileNameFilter class to filter files in the specified directory. Through the FileNameFilter interface, we can flexibly filter out the files we want according to our own needs. I hope this article will help readers understand and use FileNameFilter.
The above is the detailed content of Java uses the accept() function of the FileNameFilter class to filter files in the specified directory. For more information, please follow other related articles on the PHP Chinese website!