Recuperar los nombres de los archivos de una carpeta

Actualización: noviembre 2007

En esta lección, obtendrá información sobre cómo recuperar los nombres de archivos de una carpeta mediante My.Computer.FileSystem (Objeto).

Una carpeta es un área en Microsoft Windows donde puede almacenar archivos. Microsoft Windows tiene algunas carpetas especiales que le ayudan a organizar los archivos en categorías, como documentos, imágenes y archivos de música.

Nota:

En Windows XP, estas carpetas se denominan MisDocumentos, MisImágenes y MiMúsica. En Windows Vista, estas carpetas no llevan "Mi" en el nombre, sino que se denominan Documentos, Imágenes y Música. Sin embargo, el código de esta lección se puede ejecutar en Windows XP y Windows Vista.

En esta lección, creará una aplicación Visor de imágenes en la que puede mostrar los archivos de imagen situados en la carpeta Imágenes. Al seleccionar un elemento en ListBox, se abre el gráfico correspondiente en un control PictureBox.

Obtener los archivos

Para comprobar la existencia de un archivo determinado, use el My.Computer.FileSystem.FileExists (Método) y especifique la ruta de la carpeta y el nombre de archivo.

Si desea recuperar los nombres de todos los archivos en una carpeta, puede utilizar el objeto My para obtener una colección de todos los archivos que residen en una carpeta determinada. También puede buscar un archivo que tenga un nombre exclusivo especificando un modelo.

Use el My.Computer.FileSystem.GetFiles (Método) para devolver los archivos de la carpeta especificada. Puede pasar una lista opcional de caracteres comodín para indicar un modelo de archivos que desea obtener. Por ejemplo, puede recuperar los nombres de todos los archivos que sean imágenes GIF (formato de intercambio de gráficos) si indica que los archivos deben tener la extensión .gif (*.gif*). Puede agregar más tipos de formato gráfico, como JPEG (grupo conjunto de expertos en fotografía), si indica la extensión (*.jpg*) y separa las extensiones con una coma.

Puede especificar una carpeta especial, como Imágenes, mediante My.Computer.FileSystem.SpecialDirectories (Objeto). Esto devuelve el nombre de cada archivo, incluida la ruta de acceso completa. Puede recorrer a continuación los nombres de archivo obtenidos y agregar cada nombre de archivo a ListBox.

Inténtelo.

Para crear la interfaz de usuario de la aplicación (Interfaz de usuario)

  1. En el menú Archivo, haga clic en Nuevoproyecto.

  2. En el cuadro de diálogo Nuevo proyecto, en el panel Plantillas, haga clic en Aplicación para Windows.

  3. En el cuadro Nombre, escriba Visor de imágenes y, a continuación, haga clic en Aceptar.

    Se abre un nuevo proyecto de formularios Windows Forms.

  4. Haga clic en el formulario y cambie las propiedades siguientes en la ventana Propiedades:

    Propiedad

    Valor

    Text

    Visor de imágenes

    Size

    400, 472

  5. Agregue un control ListBox al formulario y deje el nombre predeterminado, ListBox1.

  6. Haga clic en ListBox y cambie las propiedades siguientes:

    Propiedad

    Valor

    HorizontalScrollBar

    True

    Size

    370, 82

  7. Agregue un control PictureBox al formulario y deje el nombre predeterminado, PictureBox1.

  8. Haga clic en PictureBox y cambie las propiedades siguientes:

    Propiedad

    Valor

    BorderStyle

    FixedSingle

    SizeMode

    StretchImage

    Size

    370, 285

  9. Agregue un control Button al formulario.

  10. Cambie las propiedades siguientes de Button:

    Propiedad

    Valor

    Name

    CargarImágenes

    Text

    Cargar imágenes

    Size

    80, 23

Una vez creada la interfaz de usuario para el Visor de imágenes, puede escribir el código para recuperar los nombres de archivo.

Para recuperar los nombres de archivo

  1. Haga doble clic en el botón Cargar imágenes para escribir el controlador de eventos predeterminado en el Editor de código.

  2. En el controlador de eventos LoadPictures_Click, agregue el código siguiente para recuperar todos los archivos JPEG y GIF en la carpeta Imágenes y mostrar sus nombres de archivo en el cuadro de lista. El código especifica que no se debe buscar en las subcarpetas contenidas en la carpeta Imágenes, ya que indica la opción de búsqueda SearchTopLevelOnly.

    ' Clear the list box and the picture box.
    Me.ListBox1.Items.Clear()
    Me.PictureBox1.ImageLocation = ""
    
    ' Add each image in the Pictures directory to list box.
    For Each foundImage As String In _
        My.Computer.FileSystem.GetFiles( _
        My.Computer.FileSystem.SpecialDirectories.MyPictures, _
        FileIO.SearchOption.SearchTopLevelOnly, "*.gif*", "*.jpg*")
    
        Me.ListBox1.Items.Add(foundImage)
    Next
    
  3. Agregue el código siguiente para mostrar un cuadro de mensaje al usuario si no hay ninguna imagen en la carpeta Imágenes.

    If Me.ListBox1.Items.Count < 1 Then
        MsgBox("There are no JPEG or GIF images in" _
        & " the Picture folder.")
    End If
    
  4. Presione F5 para ejecutar el programa.

  5. Cuando aparezca el formulario, haga clic en el botón Cargar imágenes.

    El nombre de archivo y la ruta de acceso de cada archivo GIF o JPEG en el directorio Imágenes aparecen en el cuadro de lista.

  6. Cierre la aplicación Visor de imágenes.

En este ejemplo, la ruta de acceso a los archivos en el directorio Imágenes es larga y tendrá que desplazarse hacia la derecha para ver los nombres de archivo. Si lo prefiere, analice cada cadena separando la ruta de la carpeta del nombre de archivo. Para obtener más información, vea Información detallada: analizar rutas de acceso de archivos.

Mostrar imágenes

Agregar los nombres de archivo al cuadro de lista sería más interesante si también se puede obtener una vista previa de cada imagen. En este procedimiento, escribirá código en el controlador de eventos SelectedIndexChanged de ListBox1 para mostrar la imagen seleccionada en PictureBox.

Para ver imágenes

  1. En el Editor de código, en la lista desplegable Nombre de clase, haga clic en ListBox1.

  2. En la lista desplegable Nombre de método, haga clic en SelectedIndexChanged para crear el controlador de eventos.

  3. En el controlador de eventos ListBox1_SelectedIndexChanged, agregue el código siguiente para mostrar la imagen seleccionada.

    Me.PictureBox1.ImageLocation = Me.ListBox1.SelectedItem
    
  4. Presione F5 para ejecutar el programa.

  5. Haga clic en el botón para cargar los archivos del directorio Imágenes y, a continuación, haga clic en un nombre de archivo en el cuadro de lista. Cada vez que haga clic en un elemento de la lista, aparecerá una nueva imagen.

  6. Cierre la aplicación Visor de imágenes y guarde el proyecto. Utilizará este proyecto en la lección siguiente.

Pasos siguientes

En esta lección, aprendió a recuperar nombres de archivos de una carpeta y a mostrarlos en un formulario Windows Forms. En la lección siguiente, aprenderá a guardar nombres de archivos en un archivo de texto. También puede obtener más información sobre cómo analizar los nombres de archivo en Información detallada: analizar rutas de acceso de archivos.

Siguiente lección: Escribir en un archivo de texto

Vea también

Conceptos

Desarrollo con la función My

Otros recursos

Usar el sistema de archivos: escribir y leer en archivos

Paseo con guía por Visual Basic