从文本文件中删除行
我有一个文本文件,其中包含5000万封电子邮件,我想创建一个帮助我删除此文件中的行的程序。从文本文件中删除行
该程序要求我输入一个字符串:@gmail.com
。然后我想删除包含字符串@gmail.com
的所有行。
这应该适合你。
编辑:删除了代码。文本解释了每一步的方式。
创建一个方法removeLineFromFile,它带有两个参数,第一个参数是要从中删除的文件,第二个参数是要删除的行的内容。
除了与第二个参数相匹配的内容之外,还创建并写入临时文件。
提示:使用bufferReader读取文件,并使用PrintWriter或FileWriter写入临时文件。
这样可以处理非常大的文件,而不需要太多的内存。然后删除原始文件,并将tempfile重命名为原始文件名。
你不应该对标记为“作业”的问题给出完全编码的答案 – 2012-04-18 00:46:56
没有看到标签。不知道现在是否应该删除它.. – Chris911 2012-04-18 00:47:39
将代码修改为psudocode = D – 2012-04-18 00:48:07
常规说明:
- 打开你的文件的
FileReader
的BufferedReader
的Scanner
。 - 打开新文件的
FileWriter
的BufferedWriter
。 - 对于在
Scanner
每一行:- 如果线串不包含你的字符串
- 写行作家
- 如果线串不包含你的字符串
- 关闭所有closables。
或1控制台命令 – 2012-04-18 00:49:40
非常感谢你...完成:D – 2012-04-19 00:17:53
非常感谢你的所有答案,嗯,这不是家庭作业...我只需要它为我自己!我知道如何在Pascal编程,我知道它可以做到这一点,但问题是我有一台64位计算机,所以Turbo pascal和Borland Pascal都不会为我工作,但我在我的电脑中安装了Eclipse,然后查看Internet并我的情况最近的代码是这样的: http://pastebin.com/fyic6HqY – 2012-04-21 04:00:31
IO readline while(....){
if(str.indexof("@gmail")){
ioHelp.deleteline(str)
}}
恐怕这样做不好,这里的诀窍是如何删除文件中的一行。正如其他人所说你不能,你可以复制文件,而不需要犯规线。 – 2012-04-18 06:18:15
这是我的代码:http://pastebin.com/fyic6HqY请问你能帮助我,请放在哪里!我应该放什么!!?谢谢 – 2012-04-19 00:18:16
非常感谢你所有的答案,那么这不是一个家庭作业......我只需要它为我自己!我知道如何在Pascal编程,我知道它可以做到这一点,但问题是我有一台64位计算机,所以Turbo pascal和Borland Pascal都不会为我工作,但我在我的电脑中安装了Eclipse,然后查看Internet并我的情况最近的代码是这样的: http://pastebin.com/fyic6HqY – 2012-04-21 04:00:15
非常感谢你所有的答案,那么这是不是一个家庭作业......我只需要它为我的自我!我知道如何在Pascal编程,我知道它可以做到这一点,但问题是我有一台64位计算机,所以Turbo pascal和Borland Pascal都不会为我工作,但我在我的电脑中安装了Eclipse,然后查看Internet并最近的代码,以我的情况是这样的:
你尝试过什么?我们不会为你做功课,如果这就是你所期望的:) – 2012-04-18 00:45:10
它是否必须在Java?使用标准UNIX命令行工具可以非常容易地实现这一点。例如'grep -v“@gmail \ .com”file' – 2012-04-18 00:46:02