-5

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

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

4

4 に答える 4

3

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

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

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

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

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

このようにして、大量の内部メモリを要求することなく、非常に大きなファイルを処理できます。その後、元のファイルが削除され、一時ファイルの名前が元のファイル名に変更されます。

于 2012-04-18T00:46:33.597 に答える
2

一般的な手順:

  • ScannerファイルのBufferedReaderを開きFileReaderます。
  • 新しいファイルの をBufferedWriter開きます。FileWriter
  • の各行について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 があり、インターネットを調べて、私の場合に最も近いコードは次のとおりです。

http://pastebin.com/fyic6HqY

于 2012-04-19T00:02:21.833 に答える