Monday, 14 November 2016

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


Click here to watch in Youtube :
https://www.youtube.com/watch?v=B4-wxOUn9VQ&list=UUhwKlOVR041tngjerWxVccw

Click the below Image to Enlarge
Java Tutorial : Java IO (Java File - How to Delete files with certain extension only - V1) 
work-dir.jpg
Java Tutorial : Java IO (Java File - How to Delete files with certain extension only - V1) 
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 String[] list(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 strings naming the files and
         * directories in the directory denoted by this
         * abstract pathname that satisfy the specified
         * filter.
         */
        String[] listOfFileNames = fileDir.list(extFilter);

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

        for (String fileName : listOfFileNames)
        {
            String filePath = new StringBuilder(dirName)
                    .append(File.separator).append(fileName).toString();
            File file = new File(filePath);
            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:
https://sites.google.com/site/ramj2eev1/home/javabasics/JavaIODemo_File_delete_ext_App.zip?attredirects=0&d=1

Github Link:
https://github.com/ramram43210/Java/tree/master/BasicJava/JavaIODemo_File_delete_ext_App

Bitbucket Link:
https://bitbucket.org/ramram43210/java/src/a3d05269db9922e504bb1f9de8d07031990c9910/BasicJava/JavaIODemo_File_delete_ext_App/?at=master

See also:

  • All JavaEE Viedos Playlist
  • All JavaEE Viedos
  • All JAVA EE Links
  • Servlets Tutorial
  • All Design Patterns Links
  • JDBC Tutorial
  • Java Collection Framework Tutorial
  • JAVA Tutorial
  • Kids Tutorial
  • No comments:

    Post a Comment