我已經打了心牆。基本上,這段代碼應該執行並收集文件夾中的所有文本文件(並且最終每隔10秒更新文本框)。 目前,它只會一次從一個或兩個文件中提取文本,將是它。它也不會更新這個文本框3。我想知道是否有人對此有何看法?如何讀取多個文本文件並將它們存儲在TextBox中?
由於我一直在使用這段代碼幾個小時,我不知道我有多清楚。如果您有任何疑問,請隨時詢問。感謝您的期待。
public void read()
{
string[] filePaths = Directory.GetFiles(@"U:\My Documents\chat\", "*.txt",
SearchOption.AllDirectories);
foreach (string file in filePaths)
{
TextReader objstream = new StreamReader(file);
textBox3.Text = objstream.ReadToEnd();
objstream.Close();
textBox3.Select(textBox3.Text.Length, 0);
textBox3.ScrollToCaret();
break;
}
}
您可以用'+ ='而不是'='來追加下一個流。目前,您正在覆蓋之前的流,無論脫字處在哪裏。 – keyboardP
當你說它沒有更新textbox3時是什麼行爲?它是否不顯示任何數據,它僅顯示來自第一個文件的數據,還是僅顯示最終文件中的數據?我會想象它會是後一種選擇,因爲它看起來每次都會覆蓋文本框內容。 – seanzi
你應該使用'使用'...'使用(TextReader objStream = new StreamReader(file)){...}',那麼你可以省略'Close()'調用(使用finally會破壞對象,這將關閉())。 –