我有一個文本文件,其中包含5000萬封電子郵件,我想創建一個幫助我刪除此文件中的行的程序。從文本文件中刪除行
該程序要求我輸入一個字符串:@gmail.com
。然後我想刪除包含字符串@gmail.com
的所有行。
我有一個文本文件,其中包含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
每一行:
或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