我正在尝试使用按钮创建一个Windows窗体应用程序,如果单击它,它将能够在一个文件夹中搜索(我将在程序代码中指定目录 - 为了这个例子,目录将被称为“C:\#” - ),用于以我们选择的文本开头的文本文件的数量(在程序的代码中再次指定 - 为了这个例子,文件将以“HelloWorld”开头 - )。
有没有人知道如何实现一个编码,可以计算指定目录中以我们选择的字符开头的文件数。
非常感谢您的帮助!
答案 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);