File 1: 1356775 lines
File 2: 9516 lines
文件 2 包含在文件 1 中匹配时应从该文件中删除的数字行。例子:
文件 1
34234323432 some useless stuff
23423432342 more useless stuff
98989898329 foo bar blah
65367389473 one two three
文件 2
234234323
653673894
新文件
34234323432 some useless stuff
98989898329 foo bar blah
我现在的方法是
- 将整个 file2 内容读入数组
- 获取 File1 的第一行并提取前 8 个数字
- 从第 1 步循环遍历整个数组,查看第 1 步中的 8 个数字是否匹配
- 如果数字不匹配,则将 step1 中的行写入新文件
- 如果它们匹配,则跳出循环并且不将行写入新文件
- 继续,直到没有更多行可以从第 2 步读取
但是,由于文件很大,因此需要大量时间来执行此操作,因为对于 file1 中的每一行,我们都在循环整个数组(9516 个元素)。有没有一种更简单的方法来执行这种类型的文件操作,而无需将文件中的记录放入数据库表中。