Comunidad .NET de Cd. Juárez

Más que un foro virtual. Más que preguntas y respuestas. Somos una comunidad
que se ayuda para producir desarrolladores profesionales de alto rendimiento.
Welcome to Comunidad .NET de Cd. Juárez Sign in | Join | Help
in Search

Esos pedacitos de codigo...

Last post 04-14-2008, 12:51 PM by ebersys. 1 replies.
Sort Posts: Previous Next
  •  03-04-2008, 3:53 PM 1214

    Esos pedacitos de codigo...

    Creo que necesitamos algo de codigo en los foros para dar
    a entender que si somos programadores, y que si le moqueamos
    al .NET.

    Propongo poner al publico alguito de codigo fuente que inspire
    a los demas a poner tambien algo de codigo, analizarlo, optimizarlo,
    ejecutarlo, etc.

    No tiene que ser mucho. Ni muy complejo. Simplemente de esos
    pedacitos de codigo fuente que alguna vez se necesitan para hacer
    tareas simples....

    He aqui mi aporte. No hace mucho necesite un programita que me diera
    una lista de los archivos que contenia una carpeta, asi que me puse
    a leer un rato y despues de codificar un rato la solucion a mi problema
    quedo asi:

    using System;
    using System.Collections.Generic;
    using System.Text;

    //Agregado para el uso de StreamWriter
    using System.IO;

    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                //De que directorio
                string dir = "x:\\kakita\\español";

                //Verificando que el dir exista
                if (Directory.Exists(dir))
                {
                    //Obtener una string* con los nombres de los archivos
                    string [] lista=Directory.GetFiles(dir);
                    //Crear un StreamWriter para escribir en el archivo dir/lista.txt
                    //si el archivo existe se sobreescribira
                    StreamWriter sw = new StreamWriter(dir.ToString() + "\\lista.txt",false);
                    //string para capturar la extension
                    string ext =String.Empty;

                    try
                    {
                        //desde i =0, hasta que no exista el archivo dir/listaIdea,
                        //osease que el indice supere el string.Length...
                        for (int i = 0; !Directory.Exists(dir.ToString() + listaIdea.ToString()); i++)
                        {
                            //Obtener la extension del archivo
                            ext=Path.GetExtension(dir.ToString()+listaIdea.ToString());
                            //si la extension (convertida a minusculas) es mp3
                            if (ext.ToLower().Equals(".mp3"))
                            {
                                //Escribe el archivo en la lista.
                                sw.WriteLine(listaIdea.ToString());
                                //Escribelo en la consola, pa que el usuario diga que
                                //el programa esta haciendo algo.
                                Console.WriteLine(listaIdea.ToString());
                            }
                            else
                                //si no es mp3 brincatelo.
                                continue;
                        }
                    }
                    //Ya llegaste al final del arreglo.
                    catch (IndexOutOfRangeException ie)
                    {
                        //Escribe cualquier cosa...
                        Console.WriteLine(ie.Message.ToString()+" Hecho!");
                    }

                    //ya no utilizaremos el StreamWriter
                    sw.Dispose();
                   
                    //Cualquier mensaje, avisando que ya acabo
                    Console.WriteLine("lista creada");
                    //getch()... ah como extraño mi Turbo C++
                    Console.ReadKey();
                }
                else
                    //no existe el directorio, creo que es meims en Aleman :P
                    Console.WriteLine("No meims!");
            }
        }
    }


    Se vende agua deshidratada
  •  04-14-2008, 12:51 PM 1311 in reply to 1214

    Re: Esos pedacitos de codigo...

    el formateador de texto desmadro mucho del codigo, pero tengo un comentario en algo importante que falta en tu codigo

    estas usando una clase que implementa IDisposable, la mejor practica cuando se usa estas clases es algo asi:

    using (StreamWriter sw = new StreamWriter(dir.ToString() + "\\lista.txt",false)) {

      //todo lo que tengas que hacer con ella aqui
     

    } //ya no tienes que llamar sw.Dispose, este se llamara solito halla o no halla excepciones


    Eber Irigoyen
View as RSS news feed in XML
Powered by Community Server (Personal Edition), by Telligent Systems