Leonardo Guimarães Ответов: 3

Задайте путь к пользовательскому экспорту txt файлов


Я пытаюсь создать программу, которая позволяет пользователю экспортировать данные в txt, однако сначала я хочу спросить пользователя, каков путь для создания txt. Однако я не получаю правильную функцию замены, я добавляю переменную.
Извините, если это хитрый вопрос.

Что я уже пробовал:

string path = @"##Insert##\export.txt";

        Console.WriteLine("Insert the path to export txt: ");
        string temp = Console.ReadLine();
        path = path.Replace($"##Insert##", "{temp}");

3 Ответов

Рейтинг:
6

Leonardo Guimarães

Я имею в виду, что try попытается сделать, создать файл или каталог? а также будет создан txt, где, если в приведенном выше примере его не попросят указать путь пользователя?


Рейтинг:
2

Richard MacCutchan

Я не думаю, что метод Replace использует форматные строки, так как они не имеют никакого значения в этом контексте. Видеть Строка.Метод Замены (Система) | Microsoft Docs[^].


Рейтинг:
1

Dave Kreskowiak

Почему вы вообще используете замену? Вы должны получить путь к папке от пользователя, убедиться, что он существует, или создать путь, а затем добавить имя файла к пути с помощью Path.Объединять().

string folderPath = Console.ReadLine();
if (!Directory.Exists(path)
{
    // The directory path doesn't exist. Try to create it
    // or ask the user if it should be created, then create it
    // if told to.
    try
    {
        ....
    }
    catch (...)
    {
        // The path couldn't be created for some reason...
    }
}

folderPath = Path.Combine(folderPath, "export.txt");
...


Leonardo Guimarães

Я понимаю, что вы сказали, что я должен проверить, существует ли каталог, но я все еще смущен заявлением try catch, что вообще делает try? Кроме того, что присваивается переменной path? потому что вы проверяете, существует ли он, но он должен поступать как вход. Извините, если я не совсем ясно выразился, я действительно запутался, лол

Dave Kreskowiak

Вам действительно нужно изучить основы C#. блоки try/catch/finally используются для обработки исключений. Если код в блоке try по какой-то причине выходит из строя, у вас есть возможность сделать что-то в ответ на это.

https://www.tutorialspoint.com/csharp/csharp_exception_handling.htm