【问题标题】:How do you reverse the read a text file from bottom to top while using a ReadBuffer and WriteBuffer? [duplicate]在使用 ReadBuffer 和 WriteBuffer 时,如何从下到上反转读取文本文件? [复制]
【发布时间】:2020-03-27 07:38:27
【问题描述】:

我是 java 的初学者,我在尝试这个时遇到了麻烦。 我有一个逐行打印的文本文件。 ReadBuffer 帮助我的班级阅读文本文件并将其打印到 gui 上。 但是,它当前是从顶部(最旧的打印)到底部(最新的打印)读取。如何在不使用任何外部库的情况下从下到上打印?

【问题讨论】:

  • 你的程序会一直读取所有行,还是只打印文件的最后 N 行?当只有读取是一个问题时,为什么要标记这个 BufferedWriter?
  • 将所有行读入List。现在反向浏览列表或重新排序列表。 stackoverflow.com/questions/3962766/…
  • @Sedrick:您绝对不想在 10 GB 文件上执行此操作。
  • @ThomasWeller 是的,但你从哪里读到他正在使用这么大的文件?看到初学者,我认为这是一个课堂作业。该文件很可能很小。
  • @Sedrick:如果是作业,那么实际向后读取文件就更重要了,不是吗?否则你什么都没学到。

标签: java bufferedreader bufferedwriter


【解决方案1】:

如果我没记错的话,BufferedReader 有一个 readLine() 方法。您可以读取文件的所有行,将它们存储在 ArrayList 中,然后从头到尾读取 ArrayList。

【讨论】:

  • a) 这仍然从上到下读取文件,因此不回答问题 b) 你不想在大文件上这样做。
【解决方案2】:

要添加到 Juans,实际上在 BufferedReader 中有一个 lines() 方法,它将返回一个流。从那里你可以反向迭代。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-06
    • 2013-11-26
    • 2019-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多