CSharp: AulaDemoDll.NamespaceE.LeitorDeArquivos

From AdonaiMedrado.Pro.Br
Jump to: navigation, search
using System;
using System.IO;
using System.Text;
 
namespace AulaDemoDll.NamespaceE
{
    public enum Modo { MaisSimplesPossivel, PoucoMenosSimples};
 
    public static class LeitorDeArquivos
    {        
        public static string ExecutarLeitura(string arquivo, Modo m)
        {
            switch (m)
            {
                case Modo.MaisSimplesPossivel:
                    return File.ReadAllText(arquivo);
                case Modo.PoucoMenosSimples:
                    using (FileStream fs = new FileStream(arquivo, FileMode.Open))
                    {
                        StringBuilder b = new StringBuilder();
 
                        byte[] buffer = new byte[256];
                        while (fs.Read(buffer, 0, buffer.Length) > 0)
                        {                            
                            b.Append(System.Text.Encoding.Default.GetString(buffer));
                            buffer = new byte[256];                        
                        }
                        return b.ToString();
                    }                    
                default:
                    throw new Exception("Isto deveria ser impossível.");
            }
        }
    }
}