擷取資料夾中檔案的名稱
更新: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*),以擷取所有圖形交換格式 (Graphics Interchange Format,GIF) 影像檔的名稱。您也可以指定副檔名 (*.jpg*) 並以逗號分隔副檔名,以加入多個圖形格式類型,例如 Joint Photographic Experts Group (JPEG)。
您可以使用 My.Computer.FileSystem.SpecialDirectories 物件指定特殊資料夾,例如 [圖片]。這麼做會傳回每一個檔案的名稱,包括完整路徑。您可以對傳回的檔案名稱執行迴圈,並將每一個檔名加入至 ListBox。
試試看!
若要建立應用程式的使用者介面 (UI)
在 [檔案] 功能表上,按一下 [新增專案]。
在 [新增專案] 對話方塊的 [範本] 窗格中,按一下 [Windows 應用程式]。
在 [名稱] 方塊中,輸入 Picture Viewer,然後按一下 [確定]。
會開啟新的 Windows Form 專案。
按一下表單,並在 [屬性] 視窗中變更下列屬性:
屬性
值
Text
Picture Viewer
Size
400, 472
將 [ListBox] 控制項加入至表單,並保留預設名稱 ListBox1。
按一下 [ListBox] 並變更下列屬性:
屬性
值
HorizontalScrollBar
True
Size
370, 82
將 [PictureBox] 控制項加入至表單,並保留預設名稱 PictureBox1。
按一下 [PictureBox] 並變更下列屬性:
屬性
值
BorderStyle
FixedSingle
SizeMode
StretchImage
Size
370, 285
在表單中加入一個 [Button] 控制項。
變更 [Button] 的下列屬性:
屬性
值
Name
LoadPictures
Text
Load Pictures
Size
80, 23
建立了 [圖片檢視器] 的 UI 後,您可以撰寫程式碼以擷取檔案名稱。
若要檢取檔案名稱
按兩下 [載入圖片] 按鈕,在 [程式碼編輯器] 中加入預設的事件處理常式。
在 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
加入下列程式碼,如果 [圖片] 資料夾中沒有影像,就對使用者顯示訊息方塊。
If Me.ListBox1.Items.Count < 1 Then MsgBox("There are no JPEG or GIF images in" _ & " the Picture folder.") End If
請按 F5 執行程式。
當表單顯示時,請按一下 [載入圖片] 按鈕。
[圖片] 目錄中的每一個 GIF 或 JPEG 檔案的檔名和路徑,都會顯示在清單方塊中。
關閉 [圖片檢視器] 應用程式。
在本範例中,[圖片] 目錄中的檔案路徑很長,您必須向右捲動以查看檔名。或者,您可以分隔檔名和資料夾路徑以剖析每一個字串。如需詳細資訊,請參閱詳述:剖析檔案路徑。
顯示圖片
如果您也可以預覽每一張圖片,則將檔名加入至清單方塊中會變得更有趣。在這個程序中,您將在 [ListBox1] 的 SelectedIndexChanged 事件處理常式中撰寫程式碼,以顯示在 PictureBox 中選取的圖片。
若要檢視圖片
在 [程式碼編輯器] 中,按一下 [類別名稱] 下拉式清單中的 [ListBox1]。
在 [方法名稱] 下拉式清單中,按一下 [SelectedIndexChanged] 建立事件處理常式。
在 ListBox1_SelectedIndexChanged 事件處理常式中,加入下列程式碼以顯示選取的圖片。
Me.PictureBox1.ImageLocation = Me.ListBox1.SelectedItem
請按 F5 執行程式。
按一下按鈕,從 [圖片] 目錄中載入檔案,然後按一下清單方塊中的檔名。每次您按一下清單中的項目時,就會顯示新的圖片。
關閉 [圖片檢視器] 應用程式,並儲存專案。您將在下一個課程中使用這個專案。
後續步驟
在本課程中,您已經學會如何擷取資料夾中的檔案名稱,並在 Windows Form 中顯示這些名稱。在下一個課程中,您將學習如何將檔名儲存至文字檔。您也可以在詳述:剖析檔案路徑中,更加了解剖析檔名的詳細資訊。
下一個課程:寫入至文字檔