Example #1
0
        static void CriarArquivoComWriter()
        {
            var caminhoNovoArquivo = "../contasExportadasComWriter.csv";

            //-------------------------------------------------------------Utilizando Create, sera substituido(caso houver) o arquivo
            using (var fluxoDeArquivo = new FileStream(caminhoNovoArquivo, FileMode.Create))
                using (var escritor = new StreamWriter(fluxoDeArquivo))
                {
                    escritor.Write("123,987312,524.00,Ciclano da Silva");
                }
            Out.PrintLn("Operação para gerar arquivos finaizado...");
        }
Example #2
0
        static void TestarLerArquivosEConverter()
        {
            var enderecoArquivo = "../contas.txt";

            using (var fluxoDeArquivo = new FileStream(enderecoArquivo, FileMode.Open))
                using (var leitor = new StreamReader(fluxoDeArquivo))
                {
                    while (!leitor.EndOfStream)
                    {
                        var linha = leitor.ReadLine();

                        var contaCorrente = ConverterStringparaContaCorrente(linha);

                        Out.PrintLn($"{contaCorrente.Titular.Nome} -> Conta numero: {contaCorrente.Numero}, ag {contaCorrente.Agencia}, Saldo: {contaCorrente.Saldo}");
                    }
                }

            ContaCorrente ConverterStringparaContaCorrente(string linha)
            {
                // Dessa forma eu consigo ler arquivos separados por '<space>', mas caso eu tenha dados como nomes que sao separados por espaços,
                // irei pegar apenas o primeiro nome e descartar o resto...
                // para resolver isso, existe o padrao de arquivos CSV, que sao separados por ','
                // SEPARADO POR '<space>'
                //string[] campos = linha.Split(' ');

                // O ARQUIVO .TXT FOI ALTERADO PARA O PADRAO CSV

                // SEPARADO POR ','
                string[] campos = linha.Split(',');

                var agencia     = campos[0];
                var numero      = campos[1];
                var saldo       = campos[2].Replace('.', ',');
                var nomeTitular = campos[3];

                var agenciaComoInt  = int.Parse(agencia);
                var numeroComoInt   = int.Parse(numero);
                var saldoComoDouble = double.Parse(saldo);

                var titular = new Cliente
                {
                    Nome = nomeTitular
                };

                var resultado = new ContaCorrente(agenciaComoInt, numeroComoInt);

                resultado.Depositar(saldoComoDouble);
                resultado.Titular = titular;

                return(resultado);
            }
        }
Example #3
0
        static void TesteLerArquivoBinario()
        {
            var caminhoNovoArquivo = "../arquivoBinario.txt";

            using (var fluxoDeArquivo = new FileStream(caminhoNovoArquivo, FileMode.Open))
                using (var leitor = new BinaryReader(fluxoDeArquivo))
                {
                    var agencia     = leitor.ReadInt32();
                    var numeroConta = leitor.ReadInt32();
                    var saldo       = leitor.ReadDouble();
                    var titular     = leitor.ReadString();

                    Out.PrintLn($"{agencia}/{numeroConta} {titular} {saldo}");
                }
        }
Example #4
0
        static void CriarArquivoTratandoBytes()
        {
            var caminhoNovoArquivo = "../contasExportadas.csv";

            using (var fluxoDeArquivo = new FileStream(caminhoNovoArquivo, FileMode.Create))
            {
                var contaComString = "123,987312,524.00,Fulano da Silva";

                var encoding = Encoding.UTF8;

                var bytes = encoding.GetBytes(contaComString);

                fluxoDeArquivo.Write(bytes, 0, bytes.Length);
            }
            Out.PrintLn("Operação para gerar arquivos finaizado...");
        }
Example #5
0
        static void TesteFLUSHCriarArquivoComWriter()
        {
            var caminhoNovoArquivo = "../testeFlush.txt";

            using (var fluxoDeArquivo = new FileStream(caminhoNovoArquivo, FileMode.Create))
                using (var escritor = new StreamWriter(fluxoDeArquivo))
                {
                    for (int i = 0; i < 100; i++)
                    {
                        escritor.Write($"Linha {i}");

                        escritor.Flush(); // Despeja a informação do buffer e manda pro file stream (torna o processo um pouco mais lento)

                        Out.PrintLn($"Linha {i} foi escrita no arquivo. Tecle enter para continuar...");
                        Console.ReadLine();
                    }
                }
            Out.PrintLn("Operação para gerar arquivos finaizado...");
        }
Example #6
0
        static void UsandoStreamEntrada()
        {
            using (var fluxoDeEntrada = Console.OpenStandardInput())
                using (var fileStream = new FileStream("../entradaConsole.txt", FileMode.Create))
                {
                    var buffer = new byte[1024];

                    while (true)
                    {
                        var bytesLidos = fluxoDeEntrada.Read(buffer, 0, 1024);

                        fileStream.Write(buffer, 0, bytesLidos);

                        fileStream.Flush();

                        Out.PrintLn($"Bytes lidos da Console {bytesLidos}");
                    }
                }
        }
Example #7
0
        static void TestarIOrderedEnumerable()
        {
            var lista = new List <ContaCorrente>()
            {
                new ContaCorrente(123, 981324),
                new ContaCorrente(123, 871324),
                new ContaCorrente(123, 1234),
                new ContaCorrente(123, 654650),
                new ContaCorrente(123, 8045),
                new ContaCorrente(123, 8),
                new ContaCorrente(123, 1234),
                new ContaCorrente(123, 452)
            };

            var listaSemNulos = new List <ContaCorrente>();

            foreach (var item in lista)
            {
                listaSemNulos.Add(item);
            }

            var contasOrdenadasSemNulo = listaSemNulos.OrderBy(conta => conta.Numero);

            var contasNaoNulas = lista
                                 .Where(conta => conta != null)
                                 .OrderBy(conta => conta.Numero);

            IOrderedEnumerable <ContaCorrente> contasOrdenadas = lista.OrderBy(conta => {
                if (conta == null)
                {
                    return(int.MaxValue);
                }
                return(conta.Numero);
            }
                                                                               );

            foreach (var item in contasOrdenadas)
            {
                Out.PrintLn(item.Numero);
            }
        }
Example #8
0
        static void TestarInterfaceIComparer()
        {
            var lista = new List <ContaCorrente>()
            {
                new ContaCorrente(123, 123),
                new ContaCorrente(123, 444),
                new ContaCorrente(123, 555),
                new ContaCorrente(123, 666),
                new ContaCorrente(123, 987324),
                new ContaCorrente(123, 98763),
                new ContaCorrente(123, 1234),
                new ContaCorrente(123, 452)
            };

            lista.Sort();

            foreach (var item in lista)
            {
                Out.PrintLn(item.Numero);
            }
        }
Example #9
0
 static void TestarExtensao()
 {
     Out.PrintLn("Testando extensao criada estilo JAVA como System.out.PrintLn() :)");
 }