我想索引我的所有音樂文件並將它們存儲在數據庫中。 我有這個功能,我呼籲recusively,從我的音樂驅動器的根開始。C#如何遞歸循環大量文件夾和文件而不使用大量內存
即
start > ReadFiles(C:\music\);
ReadFiles(path){
foreach(file)
save to index;
foreach(directory)
ReadFiles(directory);
}
這工作得很好,但在運行程序時所使用的內存量增長和增長和。最後我的系統運行內存不足。
有沒有人有更好的方法,不需要4GB的RAM來完成此任務?
最好的問候,Tys
請發表實際的代碼。你的方法沒有任何根本性的錯誤。 – 2010-11-21 21:03:47
遞歸不受可用內存的限制,但是受堆棧大小的限制,所以如果內存不足,聽起來就像是數據持續太久。 – 2010-11-21 21:04:56
我不能_imagine_你有足夠的音樂需要這麼多的空間。你確定你沒有得到堆棧溢出或者在某個時候進入了無限循環嗎? – 2010-11-21 21:05:11