2012-04-18 18 views
-4

私は5千万の電子メールを含むテキストファイルを持っており、このファイルから行を削除するのに役立つプログラムを作成したいと考えています。テキストファイルから行を削除する

文字列:@gmail.comを入力するように求められます。次に、文字列@gmail.comを含むすべての行を削除したいとします。

+1

あなたは何を試しましたか?もしあなたが望んでいれば、私たちはあなたの宿題をしません:) –

+3

それはJavaでなければなりませんか?これは、標準のUNIXコマンドラインツールを使用して非常に簡単に達成できます。例えば'grep -v" @gmail \ .com "file" –

答えて

3

これはうまくいくはずです。

編集:コードが削除されました。テキストは方法のすべてのステップを説明します。

2つのパラメータを取るメソッドremoveLineFromFileを作成します。最初のパラメータは削除するファイルで、2番目のパラメータは削除する行の内容です。

2番目のパラメータと一致するコンテンツを除いて、一時ファイルが作成され、書き込まれます。

ヒント:ファイルを読み込むにはbufferReaderを使用し、PrintWriterまたはFileWriterを使用して一時ファイルに書き込むことができます。

このように非常に大きなファイルは、内部メモリをあまり必要とせずに処理できます。元のファイルが削除され、一時ファイルの名前が元のファイル名に変更されます。

+2

"宿題"と記された質問に完全にコード化された答えを与えるべきではありません –

+0

タグが見えませんでした。もしそれを今削除するべきでないか分かりません。 – Chris911

+0

コードをpsudocode = Dに変更してください。 –

2

一般的な説明:

  • を開き、ファイルのFileReaderBufferedReaderScanner
  • 新しいファイルFileWriterBufferedWriterを開きます。 Scannerの各行に対して
    • 行の文字列は、作家
  • にあなたの文字列
    • ライト線が含まれていない場合は、すべてのclosablesを閉じます。
  • +1

    または1コンソールコマンド –

    +0

    ありがとうございます...完了:D –

    +0

    ありがとうございました。宿題...私は自分のためにそれが必要です!私はパスカルでプログラミングする方法を知っていますが、それは可能ですが問題は64ビットコンピュータなので、Turbo PascalもBorland Pascalも私のコンピュータで動作しませんが、私のコンピュータにはEclipseがあります。私の場合に最も近いコードは次のとおりです: http://pastebin.com/fyic6HqY –

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

    私は恐れていますが、良いことですが、ここでのトリックはファイル内の行をどのように削除するかです。あなたができないと他の人が言っているように、違反行なしにファイルをコピーすることができます。 –

    +0

    これは私のコードです:http://pastebin.com/fyic6HqYどこに置くのを助けてください!正確に何を置くべきですか?ありがとう –

    +0

    すべてのあなたの答えをありがとう、これは宿題ではありません...私は自分のためにそれが必要です!私はパスカルでプログラミングする方法を知っていますが、それは可能ですが問題は64ビットコンピュータなので、Turbo PascalもBorland Pascalも私のコンピュータで動作しませんが、私のコンピュータにはEclipseがあります。私の場合に最も近いコードは次のとおりです: http://pastebin.com/fyic6HqY –

    0

    すべてのあなたの答えのためにありがとうございました、まあこれは宿題ではありません...私はちょうど私の自己のためにそれを必要とします!私はパスカルでプログラミングする方法を知っていますが、それは可能ですが問題は64ビットコンピュータなので、Turbo PascalもBorland Pascalも私のコンピュータで動作しませんが、私のコンピュータにはEclipseがあります。私の場合に最も近いコード:

    http://pastebin.com/fyic6HqY

    関連する問題