如何使用c#删除文件?

时间:2010-06-28 06:55:22

标签: c#

我想使用删除功能删除文件。

     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++;
            }


       } 

我的档案没有删除。

1 个答案:

答案 0 :(得分:2)

嗯,你还没有提供足够的信息来真正让我们帮助你。您的代码意味着在做什么?

怀疑问题是您的flag变量(看起来应该类型为bool而不是int)是完全依赖在你的while循环的最后一次迭代。基本上你的代码目前说:“如果读者中的最终记录涉及不同的文件,请删除该文件。”

这就是你想要它的意思吗?

请注意,foreach循环的第一次迭代将从reader读取到完成...后续迭代将永远不会读取任何更多数据,并且实际上将使用{{的现有值1}}。因此,您最终会删除所有文件或 none 。我再次怀疑这是你真正想做的事情。

怀疑你实际上应该在一个循环中从flag读取,构建一组文件名,然后在另一个循环中浏览你的“候选”文件。但没有更多信息,很难肯定地说。