我有一段代碼,我正在修改文件的內容。我實際上需要用一個新行替換文件中的一行。爲此,我要這麼做:String.Replace()擦除整個字符串-C#
private void btn_edit_Click(object sender, EventArgs e)
{
bufferedListView1.Items.Clear();
StreamReader sr1 = new StreamReader("C:\\sample.txt");
string file= sr1.ReadToEnd();
if (file.Contains(pname + "@" + pno))
{
file.Replace(pname + "@" + pno, txt_editname.Text+"@"+txt_editno.Text);//Results null in file
}
string efile= sr1.ReadToEnd(); // returns null
sr1.Close();
StreamWriter sw1 = new StreamWriter("C:\\sample.txt");
sw1.Write(efile);
sw1.Close();
//Rest of the code
pname, pno contains old values. txt_editname,txt_editno contains new values
我最終文件sample.txt的具有沒有內容。是什麼原因?
:感謝所有的信息。讓我知道爲什麼我不應該做這一切都在UI線程? – Cdeez 2012-08-06 07:01:47
因爲如果你有一個長時間運行的操作(例如你的文件有一個巨大的文本),你的UI在操作運行時不會響應。所以用戶會認爲你的應用程序正在掛起。 – Andre 2012-08-06 07:07:46