我將實現一個線程池來運行我的應用程序。我的所有內容都保存在桌面上的文件夾下。如何將文件夾中的所有.txt讀入線程池
每個文件都是.txt格式。如何從給定文件夾讀取每個.txt文件,然後將.txt文件放入線程池/線程隊列?
我將實現一個線程池來運行我的應用程序。我的所有內容都保存在桌面上的文件夾下。如何將文件夾中的所有.txt讀入線程池
每個文件都是.txt格式。如何從給定文件夾讀取每個.txt文件,然後將.txt文件放入線程池/線程隊列?
這將是很好的地方開始尋找:ThreadPool.QueueUserWorkItem和Directory.GetFiles
對不起,我的vb.net生鏽,但這裏的C#。
foreach (string file in Directory.GetFiles(folder, "*.txt"))
ThreadPool.QueueUserWorkItem(ProcessFile, file);
void ProcessFile(Object fileNameObject)
{
string fileName = (string)fileNameObject;
string contents = File.ReadAllText(fileName);
// ... process contents here.
}
你的問題說想看的書,然後推入線程池,但我會做反向這樣你就不會耗盡內存。排隊線程池中的文件路徑,然後讓工作線程線程讀取文件。
甜!感謝Agent-J ... – user1419560
在StackOverflow上,顯示讚賞的好方法是接受和/或提出有用答案。我很高興能夠提供幫助。 –
哇。這是一個模糊的問題......要讀取文件,你需要使用'System.IO.StreamReader'。有很多關於這方面的文檔。從那裏...我不知道你有什麼要做的讀取數據和創建線程隊列之間做什麼。 –