问题需求:
打开第 11 章中讲到的 IOStreamDemo.java 文件,一次读取其中的一行,令每行形成一个 String 对象。然后利用 java.util.Comparator 接口重新定义 String 对象间的比较方法:将每个 String 中的小写字母转为大写后再进行比较。使用该比较法对这些 String 进行排序,按从大到小的顺序存入一个 LinkedList。最后将LinkedList 中的 String 按存入的相反顺序输出到另一个文件 inverse.txt 中。
项目结构:
源码地址:
https://github.com/HuangFuGui/Java/tree/master/javaExperiment2.5
总体分析:
StrArrayComparator类实现Comparator(泛型为String)接口并重写compare方法以为Arrays.sort()定义比较器。fileReader类中先读入IOStreamDemo.java文件,一次读一行,并将每行内容存入字符串数组中。通过File类新建文件名为“inverse.txt”的文件,配合BufferedWriter类将内容写入,最后关闭BufferedWriter。
StrArrayComparator.java(定义从大到小的比较器):