有一个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(); }}