首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

4千万行数据 随机读20000行解决方案

2012-06-23 
4千万行数据 随机读20000行有一个txt文件里面有4千万行数据 每行数据都只有一个数 例如1213298132380129随

4千万行数据 随机读20000行
有一个txt文件里面有4千万行数据 每行数据都只有一个数 例如
12
13
29813
2380129

随机读两万行 并将这两万行保存 应该怎么写代码??》

[解决办法]
我写了一个,我的思路是生成20000个不重复的随机数,然后读取这20000个随机数对应行的数据

Java code
import java.io.*;import java.util.*;public class ReadFile {    public static void main(String[] args) throws Exception     {        TreeSet<Integer> set = new TreeSet<Integer>();                //首先生成20000个随机数到set中        int num = 0;        while (true)        {            if (set.add((int) (Math.random() * 40000000)))            {                num++;            }            if (num == 20000)            {                break;            }        }                //根据set的数据读取响应的行数据        BufferedReader in = new BufferedReader(new FileReader("in.txt"));        PrintWriter out = new PrintWriter(new FileWriter("out.txt"));        for (int i = 0; i < 40000000; i++)        {            String str = in.readLine();            if (set.contains(i))            {                out.println(str);            }        }        in.close();        out.close();    }} 

热点排行