私は、Windows hostsファイルにエントリを追加/削除するプログラムを作っています。これまでのところ、私のフォームを使ってアイテムを削除するとき以外はうまくいきます。ホストファイル全体をクリアして、何も残しません。ここでStreamWriterが時々私のファイルを消去する
は私のコードです:
public void removeFromHosts(String key)
{
MessageBox.Show(key);
if (key != "" || key != " ")
{
String[] strings = new String[1000];
String all = File.ReadAllText(hostFile);
strings = all.Split('\n');
StreamWriter writer = new StreamWriter(hostFile);
foreach (String s in strings)
{
if (s != "255.255.255.255 " + key + " #Blocked by MyProgram")
{
writer.Write(s);
}
else
{
textBox1.Text += s;
}
}
writer.Close();
blockurls.SelectedItems[0].Remove();
MessageBox.Show("URL Successfully removed");
}
else
{
MessageBox.Show("Empty");
}
}
それがファイルにその行を書き込み、その後、URLが含まれていない場合、私は基本的に、それはURLが含まれているかどうかを確認するためにテキストファイルで各行をチェックしています。何が原因でファイル全体が消去される可能性がありますか?
タイトルに「C#」などのプレフィックスを付けないでください。それがタグのためのものです。 –