C # Формы читать textBox1 все строки и удалять заданные пути? - PullRequest
0 голосов
/ 23 марта 2019

Добрый день!

Я пытаюсь создать приложение C # Forms, в котором пользователь выбирает каталоги с помощью FolderDialog, а пути сохраняются в файле list.txt после чтения textBox1.В файле list.txt пользователь может добавлять и удалять пути.

фрагмент кода:

private void Form1_Load(object sender, EventArgs e)
        {
            textBox1.Lines = System.IO.File.ReadAllLines(fileName);
        }
string fileName = Environment.CurrentDirectory + @"/etc/list.txt";

       private void LoadTextboxes()
        {
            string[] loadedLines = System.IO.File.ReadAllLines(Environment.CurrentDirectory + @"/etc/list.txt");

            int index = 0;

            int n = int.Parse(loadedLines[index]);
            string[] lines = new string[n];
            Array.Copy(loadedLines, index + 1, lines, 0, n);
            textBox1.Lines = lines;
        }       
private void DeleteFilesFromDirectory(string directoryPath)
        {
            DirectoryInfo d = new DirectoryInfo(directoryPath);

            foreach (FileInfo fi in d.GetFiles())
            {
                fi.Delete();
            }

            foreach (DirectoryInfo di in d.GetDirectories())
            {
                DeleteFilesFromDirectory(di.FullName);

                di.Delete();
            }
        }

private void button1_Del(object sender, EventArgs e)
        {
            DeleteFilesFromDirectory(textBox1.Text);
        }   

Формат list.txt:

C:/downloads
F:/doc/scan
D:/etc

t важно удалить толькоподпапки и файлы, но корневые папки должны остаться.До сих пор я покончил со своими слабыми знаниями C # и теперь я застрял на долгое время.DeleteFilesFromDirectory удаляет только первую строку textBox1.

Как заставить DeleteFilesFromDirectory читать и удалять все строки из textBox1?

1 Ответ

0 голосов
/ 23 марта 2019

Проверить это я проверял.

  //put all paths in array reading line by line
  string[] paths = System.IO.File.ReadAllLines(@"path-to\list.txt");

  //get line by line paths
  foreach (string path in paths)
  {
        if (Directory.Exists(path))
        {
            //deletes all files and parent
            //recursive:true, deletes subfolders and files
            Directory.Delete(path, true);
            //create parent folder
            Directory.CreateDirectory(path);
        }

   }//end outer for
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...