如何向后打印文件的内容?

时间:2018-04-23 02:08:15

标签: java file

我有一个分配,我需要反向读取文件的内容,如下所示:

原件:

This is how you reverse a file, 10

新:

10 ,file a reverse you how is This

这是我的代码:

public static void main(String [args]{
    Path file = Paths.get("C:\\Java\\Sample.txt");
    InputStream input = null;
    ArrayList<String> words = new ArrayList<String>();
    try{
    input = Files.newInputStream(files);
    BufferedReader reader = new BufferedReader(new InputStreamReader(input));
    String s;
    while((s = reader.readLine()) != null)
        words.add(s);
    for(int i = words.size() - 1; i >= 0; i--){
            System.out.print(words.get(i));
    }
    catch(Exception e){
        System.out.println(e);
    }
}

如果格式化已关闭,请抱歉。该程序只是以原始形式读取文件。我究竟做错了什么?任何人都可以解释我需要向后打印这个打印件吗?我的教科书没有解释任何事情。 而且,我意识到我的捕获块可能太宽泛了。我会继续努力。

编辑:我输入时忘了添加ArrayList代码。它已存在于我的原始程序中。

谢谢

1 个答案:

答案 0 :(得分:2)

while((s = reader.readLine()) != null)
    words.add(s);

第二行表示s包含单词,但第一行一次读取一行。您需要一次阅读一个单词,或split the lines单词。