Random split of a file# Java - 爪哇娇娃
c*e
1 楼
一个文件包含多行文本,如果要按一定比例,比如 3:7 随机分割,分割后输出到另两
个文件,什么方法最好?
这样做,好像不是最好的?
1. 第一次,逐行读取整个文件,统计行数 n
2. 按 3:7 的比例,计算随机分割后两部分的行数,a, b
3. 第二次,逐行读取整个文件,使用一个 random sampling 的算法,得到随机分割的
行,并存入一个 listA. 行数为 a;
4. 第三次逐行读取整个文件,将不存在 listA 中的每行存入 listB, 行数为 b.
真的需要扫描文件三次吗?
个文件,什么方法最好?
这样做,好像不是最好的?
1. 第一次,逐行读取整个文件,统计行数 n
2. 按 3:7 的比例,计算随机分割后两部分的行数,a, b
3. 第二次,逐行读取整个文件,使用一个 random sampling 的算法,得到随机分割的
行,并存入一个 listA. 行数为 a;
4. 第三次逐行读取整个文件,将不存在 listA 中的每行存入 listB, 行数为 b.
真的需要扫描文件三次吗?