0

データを追加、更新、削除するテキスト ファイルがあります ( Contacts )。各連絡先は 1 行です。アプリケーションから連絡先を削除すると、ファイル内の行が削除されます (連絡先を空の文字列に置き換えます)。これにより、連絡先の間に空の行が作成されます。この空の行は必要ありません。これは私が書いたコードです:

    private void btn_condel_Click(object sender, EventArgs e)
    {
        bufferedListView1.Items.Clear();
        string fileContents = File.ReadAllText("C:\\sample.txt");
        string replacedContents = fileContents.Replace(txt_editname.Text + "@" + txt_editno.Text,"");
        File.WriteAllText("C:\\sample.txt", replacedContents);
        // Rest of the code

ファイル内のデータを置き換えるときに、この空の行を削除するにはどうすればよいですか。

4

3 に答える 3

2

これを修正する最も簡単な方法は、新しい行を取得することです。

string replacedContents = fileContents.Replace(
    txt_editname.Text + "@" + txt_editno.Text + System.Environment.NewLine,"");
于 2012-08-07T09:40:55.607 に答える
0

これを試して、

 string fileContents = File.ReadAllText("C:\\sample.txt");
    string replacedContents = fileContents.Replace(txt_editname.Text + "@" +        txt_editno.Text,"");
    File.WriteAllText("C:\\sample.txt", replacedContents.Trim());
于 2012-08-07T09:49:17.793 に答える
0

私は試していませんが、これはうまくいくはずです: ファイルを文字列配列に読み込み、それをリストに変換し (配列から項目を削除できないため)、連絡先を削除し、残りをファイルに書き戻します. テキスト ファイル (ところで、XML ファイルを使用できませんか...?) を独自の連絡先データ型に解析すると、さらにうまく機能します。次に、リストがあり、そこからオブジェクトを削除できます。

string[] lines = File.ReadAllLines("C:\\sample.txt");
List<string> list = lines.ToList<string>();
list.Remove(txt_editname.Text + "@" + txt_editno.Text);
File.WriteAllLines("C:\\sample.txt", list.ToArray());
于 2012-08-07T09:50:53.023 に答える