Entrada e Saída Padrão em C#

quarta-feira, 23 de junho de 2010 por Daniel Machado

Uma tarefa fundamental e recorrente na criação de software é a leitura e escrita de dados. Para facilitar o desenvolvimento, normalmente as linguagens oferecem bibliotecas prontas para essa tarefa. Nesta série de artigos vamos exercitar a leitura escrita de textos utilizando a principal biblioteca do .NET para manipulação de entrada e saída de dados, System.IO.

Inicialmente vamos mostrar como podemos ler e escrever na entrada e saída padrão. Para isto abra o Visual C#, crie um projeto vazio (File > New Project… > Empty Project) com o nome Saudacao. No Solution Explorer clique com o botão direito do mouse no nome do projeto Saudacao e selecione Add > New Item…. Na janela que surgir selecione o item Code File, este arquivo vai se chamar “Saudacao.cs”. Neste arquivo, crie uma classe com de nome Saudacao e adicione nela o método Main.

Nossa tarefa é ler a partir da entrada padrão, o teclado, e escrever na saída padrão, o terminal. Para realizar a leitura e escrita vamos utilizar classes do namespace System.IO. A classe TextReader é responsável pela manipulação de streams de entrada de texto e a classe TextWriter pela saida. Destas classes quatro são os métodos principais:

  • TextReader.Read – Lê um caractere;
  • TextReader.ReadLine – Lê uma linha;
  • TextWriter.Write – Escreve um caractere;
  • TextWriter.WriteLine – Escreve uma linha.

Dentro do método Main inserimos um código que pergunta o nome do usuário e, em seguida, imprime uma saudação personalizada contendo o nome fornecido. Observe o código a seguir:

//Saudacao.cs
using System.IO;

class Saudacao
{
    //ponto de entrada da nossa aplicacao
    static void Main(string[] args)
    {
        //guardando uma referencia para o stream da entrada padrao, teclado
        TextReader leitor = System.Console.In;

        //guardando uma referencia para a saida padrao, o terminal
        TextWriter escritor = System.Console.Out;

        //o metodo Write escreve na saida padrao
        escritor.Write("Qual é o seu nome? ");

        //o metodo ReadLine le do teclado uma o texto ate encontrar uma quebra
        //de linha (enter)
        string name = leitor.ReadLine();

        //o metodo WriteLine escreve na saida e adiciona uma quebra de linha
        //(enter)
        escritor.WriteLine("Bom dia, {0}!", name);
    }
}

Executando o código acima obtivemos a seguinte saída:

Tags: ,

Deixe um comentário