检索文件夹中文件的名称

更新:2007 年 11 月

在本课中,您将学习如何使用 My.Computer.FileSystem 对象来检索文件夹中文件的名称。

文件夹是 Microsoft Windows 中的一个区域,可用于存储文件。Microsoft Windows 提供了一些特殊文件夹来帮助您归类文件,例如文档、图片和音乐文件。

说明:

在 Windows XP 中,这些文件夹命名为“我的文档”、“图片收藏”和“我的音乐”。在 Windows Vista 中,这些文件夹的名称中没有“我的”,而分别命名为“文档”、“图片”和“音乐”。不过,本课中的代码可同时在 Windows XP 和 Windows Vista 上运行。

在本课程中,您将创建一个图片查看器应用程序,以便在其中显示在“图片”文件夹中找到的图片文件。当您在 ListBox 中选择某项时,相应的图形将显示在 PictureBox 控件中。

获取文件

您可以通过使用 My.Computer.FileSystem.FileExists 方法并指定文件夹路径和文件名来检查特定文件是否存在。

若要检索文件夹中所有文件的名称,可以使用 My 对象来获取特定文件夹中包含的所有文件的集合。此外,还可以通过指定模式来查找具有唯一名称的文件。

使用 My.Computer.FileSystem.GetFiles 方法可以返回指定文件夹中的文件。可以传递一个可选通配符列表来指定要返回的文件模式。例如,可以通过指定文件应当具有 .gif 扩展名 (*.gif*) 来检索所有图形交换格式 (GIF) 图像文件的名称。可以添加诸如联合图像专家组 (JPEG) 等更多图形格式类型,只要指定 (*.jpg*) 扩展名并用逗号分隔扩展名即可。

可以通过使用 My.Computer.FileSystem.SpecialDirectories 对象来指定特殊文件夹,如“图片”。这将返回每个文件的名称(包括完整路径)。然后可以循环访问返回的文件名并将每个文件名添加到 ListBox

试一试!

创建应用程序的用户界面 (UI)

  1. 在“文件”菜单上,单击“新建项目”。

  2. 在“新建项目”对话框的“模板”窗格中,单击“Windows 应用程序”。

  3. 在“名称”框中,键入“图片查看器”,然后单击“确定”。

    一个新的 Windows 窗体项目随即打开。

  4. 单击窗体并在“属性窗口”中更改以下属性:

    属性

    Text

    图片查看器

    Size

    400, 472

  5. 将“ListBox”控件添加到窗体中,保留默认名称“ListBox1”。

  6. 单击“ListBox”并更改以下属性:

    属性

    HorizontalScrollBar

    True

    Size

    370, 82

  7. 将“PictureBox”控件添加到窗体中,保留默认名称“PictureBox1”。

  8. 单击“PictureBox”并更改以下属性:

    属性

    BorderStyle

    FixedSingle

    SizeMode

    StretchImage

    Size

    370, 285

  9. 将一个“Button”控件添加到窗体中。

  10. 更改“Button”的下列属性:

    属性

    Name

    LoadPictures

    Text

    加载图片

    Size

    80, 23

创建图片查看器的 UI 后,便可编写代码来检索文件名。

检索文件名

  1. 双击“加载图片”按钮以在“代码编辑器”中输入默认事件处理程序。

  2. 在 LoadPictures_Click 事件处理程序中,添加下面的代码以检索“图片”文件夹中的所有 GIF 和 JPEG 文件,并在列表框中显示它们的文件名。该代码指定不能通过指定 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. 添加下列代码,以在“图片”文件夹中没有图像时显示消息框来通知用户。

    If Me.ListBox1.Items.Count < 1 Then
        MsgBox("There are no JPEG or GIF images in" _
        & " the Picture folder.")
    End If
    
  4. 按 F5 运行程序。

  5. 当窗体出现时,单击“加载图片”按钮。

    “图片”目录中每个 GIF 或 JPEG 文件的文件名和路径都显示在列表框中。

  6. 关闭图片查看器应用程序。

在本示例中,“图片”目录中文件的路径太长,必须滚动至右侧才能看到实际的文件名。也可以通过分隔文件夹路径和文件名来分析每个字符串。有关更多信息,请参见详细了解:分析文件路径

显示图片

如果还能预览每个图片,则向列表框添加文件名将会更加有趣。在此过程中,将在“ListBox1”的 SelectedIndexChanged 事件处理程序中编写代码,以在PictureBox 中显示选定的图片。

查看图片

  1. 在代码编辑器中的“类名”下拉列表中,单击“ListBox1”。

  2. 在“方法名称”下拉列表中,单击“SelectedIndexChanged”以创建事件处理程序。

  3. 在 ListBox1_SelectedIndexChanged 事件处理程序中,添加下列代码以显示选定图片。

    Me.PictureBox1.ImageLocation = Me.ListBox1.SelectedItem
    
  4. 按 F5 运行程序。

  5. 单击该按钮从“图片”目录中加载文件,然后单击列表框中的文件名。每次单击列表中的项时,就会显示一个新图片。

  6. 关闭图片查看器应用程序并保存项目。您将在下一课中使用此项目。

后续步骤

在本课中,您学习了如何检索文件夹中的文件名并在 Windows 窗体上显示它们。在下一课中,您将学习如何将文件名保存到文本文件。在详细了解:分析文件路径中,您还会学到有关分析文件名的更多知识。

下一课:写入文本文件

请参见

概念

使用 My 开发

其他资源

使用文件系统:写入和读取文件

Visual Basic 指导教程