从wordlist.txt中读取单词到数组列表,排序和编写新文件

时间:2015-03-31 16:35:10

标签: java arraylist filereader

我无法想象我的生活。

步骤:

  • 在Eclipse中创建一个新项目

  • 将提供的wordlist.txt文件复制到Project文件夹

  • 编写一个名为“Reverser”的类来执行请求的任务:

任务:

  • 使用java.util.Scanner将wordlist.txt文件中的每个单词加载到ArrayList

    • 为扫描程序提供对FileReader的引用
  • 报告放入ArrayList

  • 的字数
  • 使用java.util.Collections类来反转ArrayList中引用的顺序

  • 使用java.util.Formatter将重新排序的单词写入名为“reversed.txt”的新文本文件

    • 为Formatter提供对FileWriter的引用
  • 确保将每个单词放在单独的一行

  • 此外,编写代码以便Java为每一行提供正确的行尾终止符。 注意:否\ n,或\ r \ n允许!

  • 编写代码以帮助确保您的程序没有资源泄漏。

这是我到目前为止所拥有的

public class Reverser {

    public static void main(String[] args) {
        Scanner scan = null;
        File file = new File("C:\\Users\\Nick\\JavaWorkspace\\Lab 7\\wordlist.txt");
        ArrayList<String> list;

        try {
            scan = new Scanner(new FileReader(file));
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }

        list = new ArrayList<String>();

        while((scan.nextLine()) != null){
            list.add(scan.next());
        }

        String[] stringArr = list.toArray(new String[0]);

    }
}

1 个答案:

答案 0 :(得分:0)

我会给你一般的指导方针。 这是一项很好的任务,可以在以下方面获得经验:

  • 使用输入读取(从文件)和输出流以写入(到文件)
  • 对List对象使用size()方法。
  • 使用finally块与try/catch块清理资源(在finally块中关闭扫描程序)
  • 使用Collections.reverseOrder()方法。

您可以单独查找这些内容,然后尝试在代码中逐个集成。