Sunday, 11 June 2017

Java Tutorial : Java IO (Java File - How to Delete files with certain extension only - V2) ~ foundjava


Click here to watch in Youtube :

Click the below Image to Enlarge
java Tutorial : Java IO (Java File - How to Delete files with certain extension only - V2) 
Work-dir.jpg
java Tutorial : Java IO (Java File - How to Delete files with certain extension only - V2) 
ExtensionFilter.java
import java.io.File;
import java.io.FilenameFilter;

/*
 * boolean accept(File dir, String name)
 * 
 * Parameters: 
 * ----------
 * 
 * dir - the directory in which the file was found. 
 * name - the name of the file.
 */
public class ExtensionFilter implements FilenameFilter
{

    private String fileExtension;

    public ExtensionFilter(String fileExtension)
    {
        this.fileExtension = fileExtension;
    }

    /*
     * Tests if a specified file should be included in a
     * file list.
     * 
     * Returns: true if and only if the name should be
     * included in the file list; false otherwise.
     */
    @Override
    public boolean accept(File dir, String name)
    {
        return (name.endsWith(fileExtension));
    }

}
FileDemo.java
import java.io.File;

/*
 * public File[] listFiles(FilenameFilter filter)
 *
 * Parameters:
 * ----------
 *
 * filter - A filename filter
 *
 * How to use FilenameFilter to list out all files that
 * are end with “.txt” extension in folder “D:/work“,
 * and then delete it.
 */
public class FileDemo
{

    public static void main(String[] args)
    {
        FileDemo fileDemo = new FileDemo();
        fileDemo.deleteFiles("D:/work", ".txt");
    }

    public void deleteFiles(String dirName, String fileExtension)
    {
        File fileDir = new File(dirName);

        ExtensionFilter extFilter = new ExtensionFilter(fileExtension);

        /*
         * Returns an array of abstract pathnames denoting
         * the files and directories in the directory
         * denoted by this abstract pathname that satisfy
         * the specified filter.
         */
        File[] listOfFiles = fileDir.listFiles(extFilter);

        if (listOfFiles.length == 0)
        {
            System.out.println("No files end with : " + fileExtension);
            return;
        }

        for (File file : listOfFiles)
        {
            boolean isDeleted = file.delete();
            System.out.println(file.getAbsolutePath() + " isDeleted = "
                    + isDeleted);
        }
    }

}
Output
D:\work\Hello.txt isDeleted = true
D:\work\Java.txt isDeleted = true
Click the below link to download the code:

CLICK HERE

No comments:

Post a Comment