All pastes #161514 Raw Edit

pepe

public text v1 · immutable
·published 2006-09-05 14:45 UTC
rendered paste body
using System;
using System.IO;

class DirectoryLister
    {
        
        public static void Main()
        {
        try {
            DirectoryInfo dir = new DirectoryInfo( "c:\\" );

            Console.WriteLine();
            Console.WriteLine();
            Console.WriteLine("A continuación se muestra un listado del directorio: {0}", Path.GetFullPath(dir.ToString()));
            Console.WriteLine();
                Console.WriteLine("{0, -25} {1,-12:N0} {2, -12} {3,-20:g}", 
                    "Nombre", ("Tamaño").PadLeft(12), "Tipo", "Hora de creación");
                Console.WriteLine("----------------------------------------------------------------------------");

            foreach(FileSystemInfo fsi in dir.GetFileSystemInfos()) {
                try {
                DateTime creationTime = fsi.CreationTime;
                int subLength = 25;

                        if (fsi is FileInfo)
                    {
                    FileInfo f = (FileInfo)fsi;

                    //this if statement simply ensures that we do not shorten the name of the file too much!
                    if (f.Name.Length < subLength)
                        subLength = f.Name.Length;

                        String name = f.Name.Substring(0, subLength);

                            long size = f.Length;

                    // format the output to the screen
                        Console.WriteLine("{0, -25} {1,-12:N0} {2, -12} {3,-20:g}", 
                            name, (size + " KB").PadLeft(12), "Archivo", creationTime);
                    }
                    else //it must be a directory
                    {
                    DirectoryInfo d = (DirectoryInfo)fsi;

                    //this if statement simply ensures that we do not shorten the name of the file too much!
                    if (d.Name.Length < subLength)
                        subLength = d.Name.Length;

                    String dirName = d.Name.Substring(0, subLength);

                    // format the output to the screen
                            Console.WriteLine("{0, -25} {1,-12:N0} {2, -12} {3,-20:g}", 
                            dirName, ("").PadLeft(12), "Directorio", creationTime);
                    }
                }
                catch (Exception) { } //ignore the error, and try the next item...
            }
        }
        catch (Exception e) {
            Console.WriteLine("--- PROCESO FINALIZADO ---");
            Console.WriteLine(e.Message);
        }
        Console.ReadLine();
        }
    }