Compare the names of two files. NameFileComparator can be used to sort lists or arrays of files using their name either in a case-sensitive, case-insensitive or system dependent case sensitive way.
Following is the declaration for org.apache.commons.io.comparator.NameFileComparator Class −
public class NameFileComparator extends Object implements Serializable
Here is the input file we need to parse −
Welcome to Howcodex. Simply Easy Learning.
IOTester.java
import java.io.File; import java.io.FileFilter; import java.io.IOException; import org.apache.commons.io.IOCase; import org.apache.commons.io.comparator.NameFileComparator; import org.apache.commons.io.filefilter.FileFileFilter; public class IOTester { public static void main(String[] args) { try { usingNameFileComparator(); } catch(IOException e) { System.out.println(e.getMessage()); } } public static void usingNameFileComparator() throws IOException { //get the current directory File currentDirectory = new File("."); NameFileComparator comparator = new NameFileComparator(IOCase.INSENSITIVE); File[] sortedFiles = comparator.sort(currentDirectory.listFiles((FileFilter)FileFileFilter.FILE)); System.out.println("Sorted By Name: "); for(File file:sortedFiles) { System.out.println(file.getName()); } } }
It will print the following result.
Sorted By Name: .classpath .project input.txt