我有一个CSV文件(例如Directories.csv),其中包含大量目录。我正在使用streamreader从CSV循环浏览目录并执行一些任务。我正在将完整的目录列表更新为词典,并停留在此步骤。
询问::我想通过相同CSV 中完整目录的循环来捕获数据,以防万一应用程序崩溃或服务器重启,以便我不必再次重复完成的循环。 (或)从CSV删除完成的目录行
我试图在线检查建议,并要求创建临时文件并移动其副本。如果服务器重新启动或应用程序崩溃,是否可以这样做?请提出我该如何推进。
我的代码:
Dictionary<string, string> directoryDictionary = new Dictionary<string, string>();
using (FileStream fileStreamDirectory = File.Open(outputdir + "\\Directories.csv", FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
using (BufferedStream bufferStreamDirectory = new BufferedStream(fileStreamDirectory))
using (StreamReader streamReaderDirectory = new StreamReader(bufferStreamDirectory))
{
while ((Directoryline = streamReaderDirectory.ReadLine()) != null)
{
#Doing the task here
directoryDictionary.Add(Directoryline, "Completed");
}
}
答案 0 :(得分:3)
您无法真正将数据插入middle of a text file中(除非它是固定宽度格式,而CSV格式则不是)。
两个选项: