从文本文件中删除行

时间:2012-04-18 00:42:40

标签: java

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

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

4 个答案:

答案 0 :(得分:3)

这应该适合你。

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

创建一个方法removeLineFromFile,它接受两个参数,第一个参数是要删除的文件,第二个参数是要删除的行的内容。

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

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

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

答案 1 :(得分:2)

一般说明:

  • 打开Scanner BufferedReader个文件的FileReader
  • 打开BufferedWriter新文件的FileWriter
  • 对于Scanner中的每一行:
    • 如果行字符串不包含您的字符串
      • 写作给作家
  • 关闭所有可关闭的内容。

答案 2 :(得分:1)

IO readline while(....){
if(str.indexof("@gmail")){
ioHelp.deleteline(str)
}}

答案 3 :(得分:0)

非常感谢你的所有答案,嗯,这不是一个家庭作业......我只需要它为我自己!我知道如何在Pascal中编程,我知道它可以做到但是我有一台64位计算机的问题,所以Turbo pascal和Borland Pascal都不会对我有用但我在我的计算机上有Eclipse而且我在互联网上查看我的案例的最近代码是:

http://pastebin.com/fyic6HqY