2012-04-17 25 views
-2

私は電話帳を開発する必要があります。テキストファイルの検索と削除

私は連絡先データをテキストファイルに書きますが、私はコンソールで作業します。そのテキストファイル内の連絡先を検索して削除するにはどのようなオプションが必要ですか?

public class Writer 
{ 
    public void writer (string name,string lastname,string number) 
    { 
     StreamWriter Wrt = new StreamWriter("D:\\Sample.txt",true); 
     Wrt.Write(name); 
     Wrt.Write(lastname); 
     Wrt.Write(number); 
     Wrt.Write("#"); 
     Wrt.Write(""); 
     Wrt.Close(); 
    } 
} 
+7

これはうまくやっていますが、あなたの質問は何ですか。私はあなたの宿題をやってくれると期待していないのですか? –

+1

ヒント - ここでは、テキストファイルのデータに一貫した書式または区切られたファイルを使用します。検索アルゴリズムと削除アルゴリズムは、実装がはるかに簡単です。 – Tim

+0

ファイルをリストに読み込み、削除した連絡先を削除して書き戻します。さらに、ファイル内の各レコードに_deleted_フラグを設定し、その人物が削除されたときにフラグを上書きするだけです。その後、追加時にフラグをチェックし、最初に削除された人を上書きします。 –

答えて

0

各行は右、連絡先に対応しています。

は、これは私が連絡先を挿入するのですかですか?連絡先を削除する基準は何ですか?あなたが名前と姓を探しているなら、これを行うことができます。

string line = null; 
string Criteria = name + " " lastname; 

using (StreamReader reader = new StreamReader("C:\\input")) 
{ 
    using (StreamWriter writer = new StreamWriter("C:\\output")) 
    { 
    while ((line = reader.ReadLine()) != null) 
    { 
     if (line.Contains(Criteria)) 
     continue; 

     writer.WriteLine(line); 
    } 
    } 
} 

これはファイルを読み込んで、保存したいすべての連絡先を別のファイルに書き込みます。

ただし、同じファイルを保持したい場合(または連絡先情報が複数の行にある場合)。ファイル全体を読み込んでメモリに保存し、不要なファイルを削除してから、再度ファイルを書き込むことができます。

これは、テキストファイルを保存しておきたい場合です。前に提案したように、xmlを使用してファイルを簡単に作成して読むことができます。あなたがxmlの基本を知っているか、少し挑戦している(そして時間がある)なら、それは良い方法かもしれません。

関連する問題