-5

我有一个包含 5000 万封电子邮件的文本文件,我想创建一个程序来帮助我从该文件中删除行。

程序要求我输入一个字符串:@gmail.com. 然后我想删除所有包含字符串的行@gmail.com

4

4 回答 4

3

这应该适合你。

编辑:代码已删除。文字解释了每一步。

创建一个带有两个参数的方法 removeLineFromFile,第一个参数是要从中删除的文件,第二个参数是要删除的行的内容。

除了与第二个参数匹配的内容外,将创建并写入一个临时文件。

提示:使用 bufferReader 读取文件,您可以使用 PrintWriter 或 FileWriter 写入临时文件。

这种方式可以处理非常大的文件,而不需要太多的内部存储器。然后删除原始文件并将临时文件重命名为原始文件名。

于 2012-04-18T00:46:33.597 回答
2

一般说明:

  • 打开文件中的Scanner一个。BufferedReaderFileReader
  • 打开一个BufferedWriterFileWriter文件。
  • 对于 中的每一行Scanner
    • 如果行字符串不包含您的字符串
      • 写行给作家
  • 关闭所有可关闭的。
于 2012-04-18T00:49:04.673 回答
1
IO readline while(....){
if(str.indexof("@gmail")){
ioHelp.deleteline(str)
}}
于 2012-04-18T01:33:12.233 回答
0

非常感谢您的所有回答,嗯,这不是家庭作业......我只需要它为我自己!我知道如何用 Pascal 编程,我知道它可以做到,但问题是我有一台 64 位计算机,所以 Turbo pascal 和 Borland Pascal 都不适合我,但我的计算机中有 Eclipse,我查看了 Internet 和最接近我的情况的代码是这样的:

http://pastebin.com/fyic6HqY

于 2012-04-19T00:02:21.833 回答