Возьмите все текстовые файлы в папке и объедините затем в 1 - PullRequest
0 голосов
/ 16 декабря 2018

Я пытаюсь объединить все мои текстовые файлы в один файл.У меня проблема в том, что имена файлов основаны на данных, ранее записанных в моем приложении.Возможно, я не знаю, как определить мой путь к текстовым файлам.Я получаю сообщение об ошибке, но путь к файлам правильный.Чего мне не хватает?

string filesread = System.AppDomain.CurrentDomain.BaseDirectory + @"\data\Customers\" + CustComboB.SelectedItem + @"\";
        Directory.GetFiles(filesread);
        using (var output = File.Create("allfiles.txt"))
        {
            foreach (var file in new[] { filesread })
            {
                using (var input = File.OpenRead(file))
                {
                    input.CopyTo(output);
                }
            }
        }
        System.Diagnostics.Process.Start("allfiles.txt");

моя ошибка:

System.IO.DirectoryNotFoundException

HResult = 0x80070003 Сообщение = Не удалось найти часть пути 'C: \ Users \ simeo \ source \ repos\ UpMarker \ UpMarker \ bin \ Debug \ data \ Customers \ 13Dec2018 \ '.

Я не могу опубликовать фотографию, но позвольте мне попытаться дать некоторые дополнительные сведения в моей форме.Я выбираю элемент комбинированного списка, этот элемент является каталогом.тогда у меня есть список, который отображает файлы в моем каталоге.Затем у меня есть кнопка, которая выполняет мои желания по объединению файлов.спасибо

1 Ответ

0 голосов
/ 16 декабря 2018

У меня наконец-то все заработало.

string path = @"data\Customers\" + CustComboB.SelectedItem;
        string topath = @"data\Customers\";
        string files = "*.txt";
        string[] txtFiles;
        txtFiles = Directory.GetFiles(path, files);
        using (StreamWriter writer = new StreamWriter(topath + @"\allfiles.txt"))
        {
            for (int i = 0; i < txtFiles.Length; i++)
            {
                using (StreamReader reader = File.OpenText(txtFiles[i]))
                {
                    writer.Write(reader.ReadToEnd());

                }
            }
            System.Diagnostics.Process.Start(topath + @"\allfiles.txt");
        }
...