Tag Archives: IO

C# – Lendo um arquivo texto linha a linha

Tinha até esquecido como era programar em .NET. Ando meio longe da linguagem por conta de alguns projetos em outra tecnologia. Mas uma necessidade recente me levou a precisar construir um pequeno aplicativo que resolvesse um problema, algo bem focado.

Bom, das necessidades mais básicas, veio a de ler um arquivo texto linha a linha, coisa que não fazia desde o primeiros labs que fazia em .NET, lá atrás, quando ainda estava aprendendo. Bom, vai o código que construí para servir de exemplo para quem precisar:

using System;
using System.IO; 
 
namespace TextFileLineByLine
{
    class Program
    {
        static void Main( string[] args )
        {
            string filePath = @"c:\temp\test.txt";
            string line; 
 
            if (File.Exists(filePath))
            {
				using (StreamReader reader = new StreamReader(filePath))
                {
                    while ((line = reader.ReadLine()) != null)
                    {
                        Console.WriteLine(line);
                    }
                }
            } 
            Console.ReadLine();
        }
    }
}

O código se baseou no exemplo do colega timm, mas dei uma simplificada, deixando o código bem mais enxuto.

Bom proveito!

.NET : Obter o tamanho de um diretório com o .NET

Dica publicada pelo pessoal da BufaloInfo.

Não há ainda, nas classes do framework, um meio de obter o tamanho total de um diretório. Por isso o tamanho total de um diretório deve ser obtido pela soma do tamanho de seus arquivos e diretórios, da seguinte forma :

public static long Size(System.IO.DirectoryInfo dirInfo)
{
	long total = 0; 
 
	// Obtem o tamanho total dos arquivos no diretório
	foreach(System.IO.FileInfo file in dirInfo.GetFiles())
	total += file.Length; 
 
	// Obtem o tamanho total dos sub-diretórios da pasta
	foreach(System.IO.DirectoryInfo dir in dirInfo.GetDirectories())
	total += Size(dir); 
 
	return total;
}

É interessante observar que esta função é recursiva : Ao encontrar uma pasta a função chama a si mesma para poder calcular o tamanho da pasta e desta forma somar ao tamanho total.

No link abaixo há uma explicação mais detalha sobre Recursividade e os cuidados a considerar em seu uso:

http://pt.wikipedia.org/wiki/Recursividade