Как создать текстовый файл в динамически выбранной папке - PullRequest
3 голосов
/ 17 января 2012

Здравствуйте, спасибо, что прочитали мой вопрос.У меня есть строка, которую мне нужно поместить в текстовый файл.

Я хочу сделать так, чтобы, когда пользователь нажимает кнопку, он запрашивал папку, в которой пользователь хочет сохранить этот текстовый файл, исгенерировать его в папке.

Вот некоторый код, который я сделал, но я не знаю, как сделать так, чтобы пользователь выбирал папку.

private void Generar_Txt_Disco(string s_content, string s_folder)
{
        //Ruta es donde se va a guardar
        StreamWriter sr = new StreamWriter(s_folder);
        //Vas escribiendo el texto
        sr.WriteLine(s_content);
        //Lo cierras        
        sr.Close();           
}

Ответы [ 2 ]

4 голосов
/ 17 января 2012

Описание

Используйте для этого SaveFileDialog или FolderBrowserDialog. (Член System.Windows.Forms)

SaveFileDialog Предлагает пользователю выбрать место для сохранения файла. Этот класс не может быть унаследован.

FolderBrowserDialog Предлагает пользователю выбрать папку. Этот класс не может быть унаследован.

Образец для FolderBrowserDialog

private static void Generar_Txt_Disco(string s_content)
{
    using (FolderBrowserDialog dialog = new FolderBrowserDialog()) 
    {
        if (dialog.ShowDialog()) == DialogResult.OK)
        {
           //Ruta es donde se va a guardar
            StreamWriter sr = new StreamWriter(dialog.SelectedPath + "\\YourFileName.txt");
            //Vas escribiendo el texto
            sr.WriteLine(s_content);
            //Lo cierras        
            sr.Close();
        }
    }
}

Образец для SaveFileDialog

private static void Generar_Txt_Disco(string s_content)
{
    using (SaveFileDialog dialog = new SaveFileDialog()) 
    {
        dialog.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";

        if (dialog.ShowDialog()) == DialogResult.OK)
        {
            //Ruta es donde se va a guardar
            StreamWriter sr = new StreamWriter(dialog.FileName);
            //Vas escribiendo el texto
            sr.WriteLine(s_content);
            //Lo cierras        
            sr.Close();
        }
    }
}

Дополнительная информация

1 голос
/ 17 января 2012

Что-то вроде

using (SaveFileDialog sfd = new SaveFileDialog ())
{
  if (sfd.ShowDialog() == DialogResult.OK)
  {
    //contains the path the user picked
    string filepathToSave = sfd.FileName;

    using (StreamWriter file = new StreamWriter(filepathToSave ))
      {
         file.WriteLine("foo");
      }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...