从文本文件中选择一个随机行

时间:2014-11-20 10:12:10

标签: java file file-io random console

我有一个包含一些文本行的文本文件,用逗号分隔,如下所示:

  

"每次罢工都让我更接近下一个本垒打。 -Babe Ruth",
  "很难失败,但更糟糕的是从未试图成功.-西奥多罗斯福",
  "人们常说动机不会持久。好吧,也没有沐浴 - 这就是我们每天推荐它的原因。 - ZigZiglar"

现在我的目标是从这个文件中读取,选择一个随机行,然后在控制台中打印它。用户还可以添加新行。现在,我应该使用什么方法从文件中读取并且不将每一行存储在一个字符串数组中(然后选择一个随机行很容易,但会花费内存),我怎样才能选择一个随机行,从文本?

1 个答案:

答案 0 :(得分:2)

如果您不想将这些句子保留在记忆中,那么您必须在每个时刻知道文件中所有行的计数 - 比如N。然后执行此操作:生成一个随机数k,以便1 <= k <= N,打开您的文件,然后逐行阅读,直至到达行k。现在读取行k并将其返回给用户。所以答案是:你必须按顺序读取你的文件。