如何检查以相同单词开头的文件夹数

时间:2015-02-06 09:52:55

标签: c# winforms file directory

我正在尝试使用按钮创建一个Windows窗体应用程序,如果单击它,它将能够在一个文件夹中搜索(我将在程序代码中指定目录 - 为了这个例子,目录将被称为“C:\#” - ),用于以我们选择的文本开头的文本文件的数量(在程序的代码中再次指定 - 为了这个例子,文件将以“HelloWorld”开头 - )。

有没有人知道如何实现一个编码,可以计算指定目录中以我们选择的字符开头的文件数。

非常感谢您的帮助!

3 个答案:

答案 0 :(得分:1)

1)将Directory.GetFiles与您的路径一起用作输入参数。这将返回该文件夹中的所有文件名作为stringarray。

2)迭代数组以计算与您的限制匹配的文件名数量(即以HelloWorld开头并以.txt结尾)

3)生成新的Textfile(就像你在注释中指出的那样System.IO.StreamWriter可以用于此)

如果您在执行上述任何步骤时遇到问题,请详细说明您遇到的问题。我假设您在读取给定文件夹中的文件名时遇到问题。

答案 1 :(得分:1)

您的问题显示没有研究解决方案的努力,但我将向您展示如何转发您的目录示例:

string directory = "C:/#";
int count = 0;
string[] files = Directory.GetFiles(directory, "*.txt");
for(int i=0; i<files.Length; i++)
{
    if(files[i].StartsWith("HelloWorld"))
    {
        count++;
    }
}
MessageBox.Show("Num. of files: " + count);

它没有经过测试,我只是写了它。告诉我它是否不起作用。

答案 2 :(得分:0)

以下是可能像我一样苦苦挣扎的人的代码:

        try
        {
            if (FilePath == "")
            {
                MessageBox.Show("Please Browse for and select a file");
            }

            else
            {
                if (activedrawing == null)
                {
                    MessageBox.Show("No Drawing Found");
                }

                else
                {
                    string fileName = "InsertImage"+ FileName + ".PNG";
                    string sourcePath = FilePath;
                    string targetPath = info.ModelPath;
                    string sourceFile = System.IO.Path.Combine(sourcePath);
                    string destFile = System.IO.Path.Combine(targetPath, fileName);
                    if (!System.IO.Directory.Exists(targetPath))
                    {
                        System.IO.Directory.CreateDirectory(targetPath);
                    }
                    System.IO.File.Copy(sourceFile, destFile, true);