How do I get a List of the lines in a File using Commons IO and alphabetize them?
Author: Deron Eriksson
Description: This Java tutorial describes how to get a List of the lines in a File and alphabetize them.
Tutorial created using:
Windows XP || JDK 1.5.0_09 || Eclipse Web Tools Platform 2.0 (Eclipse 3.3.0)
In another tutorial, we saw how we could get a List of the lines of a File very easily using the readLines() method of the FilesUtils class of the ApacheSW Commons IOS library. We can very easily alphabetize the List of lines with a call to Collections.sort(), since a List is a Collection. The ReadListOfLinesFromFileAndAlphabetize class demonstrates this. ReadListOfLinesFromFileAndAlphabetize.javapackage test; import java.io.File; import java.io.IOException; import java.util.Collections; import java.util.List; import org.apache.commons.io.FileUtils; public class ReadListOfLinesFromFileAndAlphabetize { public static void main(String[] args) { try { File file = new File("test.txt"); List<String> lines = FileUtils.readLines(file); Collections.sort(lines); for (String line : lines) { System.out.println("line:" + line); } } catch (IOException e) { e.printStackTrace(); } } } The test.txt file is shown here: test.txtthis is a test of commons io Executing ReadListOfLinesFromFileAndAlphabetize with test.txt generates the following console output: line:a test line:of commons io line:this is Note that Collections.sort() will treat uppercase and lowercase characters as not being equal when it performs a sort. To ignore case (and treat uppercase/lowercase the same), you can create a Comparator for strings and call toLowerCase() or toUppercase() when you compare them to 'equalize' the cases. Related Tutorials:
|