如何从java中的文件中读取随机行
问题描述:
我制作了一个从文本文件读取一行的程序。我现在需要在每次程序运行时使它随机读取一行。这是我现在的代码的一部分:如何从java中的文件中读取随机行
if(Score<=5){
word = scan1 .nextLine();
System.out.println(word);
}
是否有任何简单的方法来选择一个随机线?
答
我建议你 1.首先获取文件中的行总数。然后 2.获得该总数中的随机数。然后 3.跳过文件到随机数指示的点。然后 4.读取文件的行。
如果你想要的代码,我可以提供一些让你开始,但这应该是相当简单的实现。
答
如说,你可以使用随机生成一个号码,
但阅读它的索引的新线搜索“\ n”新行字符
再求(随机)到该位置和readline()从那。
+0
只使用随机甚至可以让你阅读一条线的中间。 – 2012-03-26 11:22:46
答
public String getRandomLineFromTheFile(File file)
{
final RandomAccessFile f = new RandomAccessFile(file, "r");
final long randomLocation = (long) (Math.random() * f.length());
f.seek(randomLocation);
f.readLine();
return f.readLine();
}
- 该功能向相比更短的行更长的线偏置。
- 此功能对第一行非常偏见。 (这可以是固定的,考虑一下)
+0
如何提高它更正义?你有什么好主意吗? – Jaskey 2014-07-18 17:26:50
你会如何在这里定义“随机行”? – 2012-03-26 11:06:03
在这里看看:http://stackoverflow.com/questions/2218005/how-to-get-a-random-line-of-a-text-file-in-java – giorashc 2012-03-26 11:06:19