我想使用删除功能删除文件。
foreach (string file1 in filePaths)
{
file = Path.GetFileName(file1);
while (reader.Read())
{
client = reader["name"].ToString();
filename = reader[2].ToString();
if (filename != file)
flag = 1;
else
flag = 0;
}
if (flag == 1)
{
sw.WriteLine(file);
File.Delete(file);
data_count++;
}
}
我的档案没有删除。
答案 0 :(得分:2)
嗯,你还没有提供足够的信息来真正让我们帮助你。您的代码意味着在做什么?
我怀疑问题是您的flag
变量(看起来应该类型为bool
而不是int
)是完全依赖在你的while循环的最后一次迭代。基本上你的代码目前说:“如果读者中的最终记录涉及不同的文件,请删除该文件。”
这就是你想要它的意思吗?
请注意,foreach
循环的第一次迭代将从reader
读取到完成...后续迭代将永远不会读取任何更多数据,并且实际上将使用{{的现有值1}}。因此,您最终会删除所有文件或 none 。我再次怀疑这是你真正想做的事情。
我怀疑你实际上应该在一个循环中从flag
读取,构建一组文件名,然后在另一个循环中浏览你的“候选”文件。但没有更多信息,很难肯定地说。