如何从Java中的大文本文件中检测1500个随机行?

时间:2014-01-08 12:34:15

标签: java random

我是Java新手。我有一个学校项目。我应该检测1500个大文本文件的随机行?实际上,文本文件包含500万行。我想逐行读取.txt文件,然后随机检测1500行,并将随机行写入新的.txt文件 你能不能帮我解决这个问题。

提前致谢。

2 个答案:

答案 0 :(得分:0)

只需在0到5 000 000之间选择1500个随机数,然后从文件中获取这些数字。

答案 1 :(得分:0)

首先,创建一个扫描程序对象来解析文件:

File file = new File("filename.txt");
Scanner scanner = new Scanner(file);

然后,使用.nextLine()方法读取每一行,使用新的随机int来更改正在读取的行:

Random rand = new Random();
int  randomInt;
String line;

for (int j = 0; j < 1500; j++){
    randomInt =  = rand.nextInt(numberOfLinesInFile + 1);
    for (int i = 0; i < randomInt + 1; i++) {
        line = scanner.readLine();
    }
    newString += line;
}
然后

newString将包含1500行的新列表

您还可以生成1500个随机数,创建要读取的行数组,然后仅在计数器等于这些行数时添加正在读取的行。这将减少循环次数以实现相同的结果。以上应该足以让你去...