- Java.io package classes
- Java.io - Home
- Java.io - BufferedInputStream
- Java.io - BufferedOutputStream
- Java.io - BufferedReader
- Java.io - BufferedWriter
- Java.io - ByteArrayInputStream
- Java.io - ByteArrayOutputStream
- Java.io - CharArrayReader
- Java.io - CharArrayWriter
- Java.io - Console
- Java.io - DataInputStream
- Java.io - DataOutputStream
- Java.io - File
- Java.io - FileDescriptor
- Java.io - FileInputStream
- Java.io - FileOutputStream
- Java.io - FilePermission
- Java.io - FileReader
- Java.io - FileWriter
- Java.io - FilterInputStream
- Java.io - FilterOutputStream
- Java.io - FilterReader
- Java.io - FilterWriter
- Java.io - InputStream
- Java.io - InputStreamReader
- Java.io - LineNumberInputStream
- Java.io - LineNumberReader
- Java.io - ObjectInputStream
- Java.io - ObjectInputStream.GetField
- Java.io - ObjectOutputStream
- io - ObjectOutputStream.PutField
- Java.io - ObjectStreamClass
- Java.io - ObjectStreamField
- Java.io - OutputStream
- Java.io - OutputStreamWriter
- Java.io - PipedInputStream
- Java.io - PipedOutputStream
- Java.io - PipedReader
- Java.io - PipedWriter
- Java.io - PrintStream
- Java.io - PrintWriter
- Java.io - PushbackInputStream
- Java.io - PushbackReader
- Java.io - RandomAccessFile
- Java.io - Reader
- Java.io - SequenceInputStream
- Java.io - SerializablePermission
- Java.io - StreamTokenizer
- Java.io - StringBufferInputStream
- Java.io - StringReader
- Java.io - StringWriter
- Java.io - Writer
- Java.io package extras
- Java.io - Interfaces
- Java.io - Exceptions
- Java.io package Useful Resources
- Java.io - Discussion
Java - File listFiles() Method
Description
The Java File listFiles(FilenameFilter filter) returns an array of abstract pathnames indicating the files and directories in the directory indicated by this abstract pathname that satisfy the specified filter.
Declaration
Following is the declaration for java.io.File.listFiles(FilenameFilter filter) method −
public File[] listFiles(FilenameFilter filter)
Parameters
filter − Filename filter
Return Value
The method returns an array of abstract pathnames indicating the files and directories in the directory indicated by this abstract pathname that satisfy the specified filter.
Exception
SecurityException − If a security manager exists and its SecurityManager.checkRead(java.lang.String) method denies read access to the file
Example 1
The following example shows the usage of Java File listFiles(filter) method. We've created a filter class by implementing FilenameFilter class. This class is implementing the accept method and returning true if file name is ending with "txt". We'll be using this class in our program to filter text files. We've created a File reference. Then we're creating a File Object using test directory which is present in the provided directory. Then we're getting the list of text files present in the test directory using listFiles(filter) method into a string array. Then this array is iterated to print the available files in the given directory.
package com.tutorialspoint; import java.io.File; import java.io.FilenameFilter; public class FileDemo { public static void main(String[] args) { File f = null; File[] paths; try { // create new file f = new File("F:/Test2"); // create new filter FilenameFilter filter = new TextFileFilter(); // array of files and directory paths = f.listFiles(filter); if(paths != null) { // for each name in the path array for(File path:paths) { // prints filename and directory name System.out.println(path.getName()); } }else { System.out.println("Files are not present"); } } catch(Exception e) { // if any error occurs e.printStackTrace(); } } } class TextFileFilter implements FilenameFilter{ @Override public boolean accept(File dir, String name) { return name.endsWith(".txt"); } }
Output
Let us compile and run the above program, this will produce the following result −
test.txt Test1.txt
Example 2
The following example shows the usage of Java File listFiles(filter) method. We've created a File reference. Then we're creating a File Object using test directory which is present in the provided directory. Then we're getting the list of all files present in the test directory using listFiles(filter) method into a File array. We've passed filter as null so that all files comes. Then this array is iterated to print the available files in the given directory.
package com.tutorialspoint; import java.io.File; import java.io.FilenameFilter; public class FileDemo { public static void main(String[] args) { File f = null; File[] paths; try { // create new file f = new File("F:/Test2"); FilenameFilter filter = null; // array of files and directory paths = f.listFiles(filter); if(paths != null) { // for each name in the path array for(File path:paths) { // prints filename and directory name System.out.println(path.getName()); } }else { System.out.println("Files are not present"); } } catch(Exception e) { // if any error occurs e.printStackTrace(); } } } class TextFileFilter implements FilenameFilter{ @Override public boolean accept(File dir, String name) { return name.endsWith(".txt"); } }
Output
Let us compile and run the above program, this will produce the following result −
test.pptx test.txt Test1.txt
Example 3
The following example shows the usage of Java File listFiles(filter) method. We've created a File reference. Then we're creating a File Object using test3 directory which is not present in the provided directory. Then we're getting the list of files present in the test directory using listFiles() method into a File array. Then this array is iterated to print the available files in the given directory. As folder is not present, array will be null and we're printing a message - "Files are not present".
package com.tutorialspoint; import java.io.File; import java.io.FilenameFilter; public class FileDemo { public static void main(String[] args) { File f = null; File[] paths; try { // create new file f = new File("F:/Test3"); FilenameFilter filter = null; // array of files and directory paths = f.listFiles(filter); if(paths != null) { // for each name in the path array for(File path:paths) { // prints filename and directory name System.out.println(path.getName()); } }else { System.out.println("Files are not present"); } } catch(Exception e) { // if any error occurs e.printStackTrace(); } } } class TextFileFilter implements FilenameFilter{ @Override public boolean accept(File dir, String name) { return name.endsWith(".txt"); } }
Output
Let us compile and run the above program, this will produce the following result −
Files are not present
To Continue Learning Please Login
Login with Google