Write to a Notepad C #

6

Can someone help me with the following. I want to put a button in my program, which when clicking, write the contents of a Textbox in a Notepad Document in the folder that we want.

    
asked by anonymous 10.04.2015 / 13:38

3 answers

7

Try this:

using System.IO; // Biblioteca Input/Output, importante para salvar e ler arquivos!

SaveFileDialog salvar = new SaveFileDialog(); // Cria instancia tipo SaveFileDialog
salvar.Filter = "Arquivos de Texto (*.txt)|*.txt"; // Mostra apenas arquivos de texto[opcional]
salvar.DefaultExt = "txt"; // Define a extensão padrão para arquivo de texto
DialogResult salvou = salvar.ShowDialog(); // Mostra o SaveFileDialog
if (salvou == DialogResult.Ok) // Só grava caso o usuário tenha clicado em OK          
{
    StreamWriter sw = null;
    try
    {
        sw = new StreamWriter(salvar.FileName); // Cria Instancia tipo StreamWriter, para gravar o arquivo
        sw.WriteLine(textbox1.Text); // Grava o conteúdo do textbox1 no arquivo
    }
    catch (IOException ex)
    {
        MessageBox.Show("IOException:\r\n\r\n" + ex.Message); // Mostra mensagem caso ocorra uma IOException
    }
    catch (Exception ex)
    {
        MessageBox.Show("Exception : \r\n\r\n" + ex.Message); //M ostra mensagem caso ocorra uma exceção que não seja do tipo IOException
    }
    finally
    {
        if (sw != null)
            sw.Close(); // Fecha a instancia StreamWriter, com ou sem exceção.
    }
}
else
{
    // Pode por um código aqui caso o usuário clique em cancel.
}

To write the contents of a ListBox, try the following:

using System.IO; // Biblioteca Input/Output, importante para salvar e ler arquivos!

    SaveFileDialog salvar = new SaveFileDialog(); // Cria instancia tipo SaveFileDialog
    salvar.Filter = "Arquivos de Texto (*.txt)|*.txt"; // Mostra apenas arquivos de texto[opcional]
    salvar.DefaultExt = "txt"; // Define a extensão padrão para arquivo de texto
    DialogResult salvou = salvar.ShowDialog(); // Mostra o SaveFileDialog
    if (salvou == DialogResult.Ok) // Só grava caso o usuário tenha clicado em OK          
    {
        StreamWriter sw = null;
        try
        {
          sw = new StreamWriter(salvar.FileName); // Cria Instancia tipo StreamWriter, para gravar o arquivo
          for (int i = 0; i < listBox1.Items.Count; i++) 
          { 
          sw.WriteLine(listBox1.Items[i]); //Vare o listbox e grava os itens, caso tenha algum.
          }
        }
        catch (IOException ex)
        {
            MessageBox.Show("IOException:\r\n\r\n" + ex.Message); // Mostra mensagem caso ocorra uma IOException
        }
        catch (Exception ex)
        {
            MessageBox.Show("Exception : \r\n\r\n" + ex.Message); //M ostra mensagem caso ocorra uma exceção que não seja do tipo IOException
        }
        finally
        {
            if (sw != null)
                sw.Close(); // Fecha a instancia StreamWriter, com ou sem exceção.
        }
    }
    else
    {
        // Pode por um código aqui caso o usuário clique em cancel.
    }

NOTE:

It's important to close StreamWriter so you can view the file with another application.

OBS2: Make sure you add the items in the ListBox;

    
10.04.2015 / 16:04
5

Just complementing the response from @ JoãoPauloPulga , like StreamWriter " derives from TextWriter , and TextWriter implements

10.04.2015 / 18:25
3

== Only to complement the answers already given ==

You can record a file with File.WriteAllText :

if (salvou == DialogResult.Ok)
{
    File.WriteAllText(
        salvar.FileName,
        textbox1.Text);
}

So you do not have to work with StreamWriter , with using nor try/catch , and you do not have to worry about anything else.

    
10.04.2015 / 19:51