繁体   English   中英

如何在 C# 中创建“递归”文件夹和子文件夹

[英]How can i create "recursively" folder and sub folder in C#

**1875 科韦兹
1875 年科森巴尼亚
1875年莱伦茨
1875 年拉克塔尼亚克
第 1875 章

第 1876 章
1876 年希达克
**

我在txt文件中有这个文件结构

“说明:该行的第一部分是 4 位数字-它可以相等(和根文件夹名称)并且它必须只包含相同的 4 位数字子文件夹。txt 文件很长,大约 18000 行

例子:

C:/DATA/1875/Kovezes C:/DATA/1875/Koszenbanya

private void button3_Click(对象发送者,EventArgs e)

    {

        string line;
        string linecopy;
        int linecopyc;
        //string root = @"C:\Temp";
       // string subdir = @"~/ASD/";
        var file = new System.IO.StreamReader("adatforras.txt");

        while ((line = file.ReadLine()) != null)
        {
            listBox1.Items.Add(line);
            //linecopy = line;
            linecopy = line.Substring(0,4);
            label4.Text = linecopy;
            linecopyc = line.Length - 4;
            label4.Text = line.Substring(4, linecopyc);
            if (!Directory.Exists(linecopy))
            { 

              di = Directory.CreateDirectory(linecopy);



      DirectoryInfo dis = di.CreateSubdirectory(label4.Text);

            }
            else
            {
                DirectoryInfo dis = di.CreateSubdirectory(label4.Text);

            }



            }





    }

问题是:这段代码的主要问题是什么?

我认为您的子字符串以空格开头:

label4.Text = line.Substring(4, linecopyc);

尝试修剪它或从位置 5 开始

label4.Text = line.Substring(5, linecopyc);

C# 支持能够在通往所需路径的路上创建路径中的所有目录,因此您可以执行以下操作:

while ((line = file.ReadLine()) != null) {
    // Other parts with labels etc.

    var directoryParts = line.split(" "); // To get number and name separately
    System.IO.Directory.CreateDirectory(Path.Combine("C:\\Data", directoryParts[0], directoryParts[1]));
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM