2016-09-01 24 views
0

我想做一個程序,檢查目錄中的特定文件類型,然後執行代碼,如果有任何找到該類型的文件。vb檢查特定的文件類型在目錄中,並執行代碼

我假設是這樣的:提前

For Each foundFile As String In 
    My.Computer.FileSystem.GetFiles(My.Computer.FileSystem.SpecialDirectories.MyDocuments) 

    (If any found files are, for example, "txt" files, then display their content.) 
Next 

感謝。

+1

任何具體問題,或者你只是希望有人來爲你的代碼呢? – Tavo

+0

真的沒有任何具體的問題。 – Anonymous

回答

1

可以使用Directory.GetFilesDirectory.EnumerateFiles與用於擴展濾波器的參數:

Dim directoryPath = My.Computer.FileSystem.SpecialDirectories.MyDocuments 
Dim allTxtFiles = Directory.EnumerateFiles(directoryPath, ".txt") 
For each file As String In allTxtFiles 
    Console.WriteLine(file) 
Next 

這兩種方法之間的差別在於,第一返回一個String(),所以加載所有到內存立即而第二返回「查詢」。如果你想使用LINQ,最好使用EnumerateFiles,f.e.如果你想採取的第一個10個文件:

Dim firstTenFiles As List(Of String) = allTxtFiles.Take(10).ToList() 
+0

好的解釋 –

+0

非常感謝!它真的幫助!據我所知,'Directory.EnumerateFiles()'可以發送一個查詢的第一個x數量的txt文件在目錄中? – Anonymous

0
Dim di As DirectoryInfo = New DirectoryInfo(My.Computer.FileSystem.SpecialDirectories.MyDocuments) 
For Each fi In di.GetFiles("*.txt") 
    Dim content As String = My.Computer.FileSystem.ReadAllText(fi.FullName) 
    Console.WriteLine(fi.Name) 
Next 
相關問題