VB.NET : File
Top 35 VB.NET Example Pages...

["wslshr. cB(BST~~}T~~Y69666669966966/BCC)CCPLhCBS}T~~}T~~","Recursive Files."," A program needs to recurse through all directories. It starts at a certain point. It then lists all the file paths in those directories. We can use an efficient and bug-free VB.NET Function for this purpose. ","Function ","function-vbnet","Example."," First, this is the code for the VB.NET Function that traverses through all subdirectories and then all further subdirectories. It returns a List(Of String), which is often used for file paths. ","Path ","path-vbnet","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","6227126509","data-ad-format","auto","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","6227126509","data-ad-format","auto","VB.NET program that recurses directories","\n\nImports System.IO","\n\n''' <summary>\n''' This class contains directory helper method(s).\n''' </summary>\n","Public Class FileHelper","\n\n ''' <summary>\n ''' This method starts at the specified directory.\n ''' It traverses all subdirectories.\n ''' It returns a List of those directories.\n ''' </summary>\n ","Public Shared Function ","GetFilesRecursive","(ByVal initial As String) As List(Of String)","\n ' This list stores the results.\n ","Dim result As New List(Of String)","\n\n ' This stack stores the directories to process.\n ","Dim stack As New Stack(Of String)","\n\n ' Add the initial directory\n ","stack.Push(initial)","\n\n ' Continue processing for each stacked directory\n ","Do While (stack.Count > 0)","\n ' Get top directory string\n ","Dim dir As String = stack.Pop\n Try","\n ' Add all immediate file paths\n ","result.AddRange(","Directory.GetFiles","(dir, \"*.*\"))","\n\n ' Loop through all subdirectories and add them to the stack.\n ","Dim directoryName As String\n For Each directoryName In ","Directory.GetDirectories","(dir)\n stack.Push(directoryName)\n Next\n\n Catch ex As Exception\n End Try\n Loop","\n\n ' Return the list\n ","Return result\n End Function\n\nEnd Class\n\nModule Module1","\n\n ''' <summary>\n ''' Entry point that shows usage of recursive directory function.\n ''' </summary>\n ","Sub Main()","\n ' Get recursive List of all files starting in this directory.\n ","Dim list As List(Of String) = ","FileHelper.GetFilesRecursive","(\"C:\\Users\\Sam\\Documents\\Perls\")","\n\n ' Loop through and display each path.\n ","For Each path In list\n Console.WriteLine(path)\n Next","\n\n ' Write total number of paths found.\n ","Console.WriteLine(list.Count)\n End Sub\n\nEnd Module","We see the"," actual function that you will want in your project. It uses Stack to build up a list of paths it needs to process. It then processes each directory path in the stack individually, adding all the files each time. ","Stack ","stack-vbnet","Note: ","The Main sub here shows how to call FileHelper.GetFilesRecursive and specify a path string.","Tip: ","The path string must specify an absolute path, or one relative to the program. Here, we specify a C:\\ path on my computer.","Output."," The output of the above program on my computer is a list of 677 file paths. Each path is fully specified and absolute. They are ordered alphabetically. The sample next shows three of the first several lines printed. ","Note: ","I checked the directory in Windows Explorer by right-clicking on the folder and selecting Properties.","And: ","The dialog shows that there are 677 files in the folder. Further inspection shows all file paths are accurate.","Example output","\n\nC:\\Users\\Sam\\Documents\\Perls\\Category1.txt\n...\nC:\\Users\\Sam\\Documents\\Perls\\Style\\all.css\n...\nC:\\Users\\Sam\\Documents\\Perls\\Main\\2D-Array-IEnumerable.html\n...\n677","390px","480px","Summary."," Here we saw a powerful and efficient recursive directory and subdirectory traversing function. It works reliably in programs. It is tested. The function provides accurate results. ","Review: ","It demonstrates an excellent use of Stack and List. It is highly useful in many projects.","List ","list-vbnet","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","3679700504","data-ad-format","link","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","6227126509","data-ad-format","auto","url(data:image/jpeg;base64,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)","url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAG4AAACCAgMAAADasxWRAAAADFBMVEX/6Nn///+VlZX29va5ksB5AAAASElEQVR4AWPACZj/f0DmjkqOSjKtQgcLyJccZiEE9SOmP8mXHEaBMBoIo4EwGggryJccvvVKKAogTnJUclRyVHLklgmjkqOSAALWyrsxEHLDAAAAAElFTkSuQmCC)","url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAL4AAABsCAMAAADjXPiLAAAAMFBMVEX///9522Pv/un1//JS0zDB77bT9Myw6aWU4oXp/+H5//ft/+b8//ry/+3h+Ns1zgBIqVA6AAAC7UlEQVR4Xu3Y65KqMBAEYHIP9/d/23NWZAiNVFxr1aZq+p8KVR84w4Q088P4HNp9xq5hzHwWE+EC7EDNx/jUQhw3H8PuRz4moL+7FN8jv+fm18uHlb8C2pC98M0PoBvh9lPz2zYa8dsbYOjFP/Dz2yj8tAAGqB5ufiu3P98BVqbvFfhhK/4lncxeen5ZPb6B6umvwG+PX69R/stR/jWfPJdq3YR8d6kHp4Gp29grTd0g30aonbbj50cvfIdLth9Awkxun+GL/Clt+iyFX5T+VH0tcJ/nmzWlK9j/wbfFNGMy8EeOty0joPK5k6svlT0F30fk34raz4dEPI53o8Q9sSXR8W5TRUFXip9rk7C/V0R6oknsl/kmIUjGrVk7o+ziH3M5nL/H9yanWMp7O7rheIYp/4mw3HH36eL/9cp4KpdDsehyVy4uHCs/lcshVxR/V55tWflS7m7XCPfjZXHEyvcreH8xcZm0owwuTr5dvXlfSsnuV3eOkx/Fu2/k7Pb7QSMbHzsXHqPd/vSek2/gePwsg4uOj0MLerfZ927HyI+w9dylrRegdxn5og13bYS/YygH1wyprvTexsdamdZSlzmA5zPy/QoQrMELksH1Cv+9scdS2coJi5+PH46NGrCZZXDx8dPxMTmJBaqv5+NLodtGFpjSDk6+W0LHd/ODx4yBwWW3wWWKbOYt+WbeMr6XHx/V+ZODS/iV+fKJ0veP7quxt0jxWDa+SB+nhbDxPXhrW4Vc/Am41X1yLn4AbnWrkIufgVvdJ+fim7mSCfxUfIfa+j45Ex/eTGRxdj64Rib+qfL0uiwT/3xxU6Fx8AXgEIAX1suF8fCns5fy/lBWowwuHr4Y86FBw9lP9lf8uOYO6Nac/vDK0AqHW2xlcOEf8wy/fshfFJ6X4QQFPhS/WbANBPw/iPKVr3zlK1/5yle+8pWvfOVXIm4GvvKJonzlK99AhG+XMPFpx5bylf96lK985Stf+cpXvvKVr/x/2oEPrjSYUD0AAAAASUVORK5CYII=)"]

["url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGoAAACZCAMAAADw+V8SAAAADFBMVEX////09PTk5OTU1NQ/cPF/AAABzUlEQVR4Xu3bQarDMBRD0Xel/e/5w59m0FiNRQnWBg6vBidynVkOAJIAYLYEJF9j6VHxqly9Zxzfiig4T2jycpQPVMCQ4yiA4hCs0ebB8BMhWKRtlvxYFIy0w8J2x5JdsmR3LLwl1CSbmmQHy5RGNcmmJlk1yaYm2aGUj4ULUSblY9lvG2t6Fj1LU7M065b+k+/vrBcNpGxzIik0KKGGqDkRVQayiqaAGrJekVBDVCqIXjGI6ktEDTv7xHyyZrZQV0uzjxpWpZwaLtI2aliTcE4NK9LoG2pYkPiy1BFIITXclCboCGGClpUFL6QnqSaZySO3hpJLQ+HF9CRq59SqSaa0TLZ+XZLX05OIJLckEkm5dCRzpIUOVd8j+vsek6Ug1Z6E/af7qCaNay981KSR3Wo2PWl60hSkoOy2KE2NokZp3kjxQupQhzrUoUb3klAnJ/nVZYl9joILvRkUNI+8jjQwglawqWGpJtmqSbYqUm71i0i/M8qt0kiv3ssrKaxU/+9Eq0e59vvZzAvPHK0nqUMdih+m6O0W1T2wtVgqPq+6d3ryqDBUdIW3ZdVepM20LGpVhFrBolVQ1ardpnCYEEA5pgAKPiYvnDYCRMgfJbla10Up7TkAAAAASUVORK5CYII=)","url(data:image/png;base64,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)","url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQIAAAAyCAMAAACAnCV7AAAAGFBMVEX///++vr7q6uqMjIxnZ2fY2NioqKhQUFAPXtNUAAADzUlEQVR4XsXa23KEMAwDUN8S/v+P++QJaKBCu7T4MYU2cxxUL7M2Nyw3qIALwszMt9NK9zBSh5uHnVcef23fx8phy7zyCQKscoFgOxeDfdVdgiETTDM/IJQPwzpcU93l4bQZ1zW8mqCumJZT+rqPELQgLNOtjoKWXB7MebggsiF717WOF6tIemnUyZmKvLit9p7tgQfP8Y4+hVHQkYuzO7GZe4LWvG2wjuJVzbOfjguC7MX2SEaQeyenBIlCSIA55pygazxC4O3VBM4I/OBUZDPW7aIEVs3JCdjz5wpBNGY3whjBOBBMcia9d8oJHHvLCeoXAucEyz52BEkJ7LAwSOuywTiBFaxygi2fIJhb7VvqnCBXo+iTEOtnnAAimxK0l06ANrnHM04wDyfb0RavbWJOMAWC2Qb+PYHtIL05kADQ6qQnhoUBywlcIFiDcHxJgHjOCcyOUEm6UfYnBFEdifEkQbjdIfDBN754pkowbxGsSEiVgBUnwKrLAxmwzrJA+KfYYm32DgEfDSagE4IURqMm6/29Q8BHg9r1lBMELFICiMQXCMhoAGHICSZIcgLDSNQJEqgkAh5judPjBNGQAgFGok5QzxDE+ZMQuzVOEIUCnAAjUScYYC4R8NFgrp1xAu8DrRBgJOoE8xsCPhpU5xQlcKAWCCASRYIojYAHIrgAChBgpZupBBiJnADrMYLZVBiGhAARQiLASHyHAJMGw5ARYGUIBOiZ7xDgkIy7oFmAr5BdIcBIfC8LcDRoFOMEaym7lwIBRuIQCSwVAnE0GA0iTYdowAkwEkUClwj4aIBvYodEsAxcJog2SJEgBALxSYjFzQmwmaUQYCT++4CM2y/II43AO9YUAozE//mYxEeDag2JoI9BSgQYiS98WAbjBneBABKlNAKMxLcIegvRLQmBAANRI8BIfIEAuTAMOQGGQWgEGIlvEcRCdpg7ZQItCxBw85cIOpCChuHzDwJGYsoEPgiB4jUxDPU4TJUAI3FTCXxzTiCMBgmZLhPMTwmiPiQoiYCPBt1fmSDg045MYEMm6FYPjYD//fiIwPUBGcs/IiiFgD8JLa0TRKG4TmApEjROPEPg5E2M/hWLmEBCCSx1guQEU3ixCSeZEDCBwiVOECURtI1JBLQDrhOYVwuQNwiMwIZKkE8SOIkz/CKowxd1UTvPVpMpOxCQb5/GL3sOr+7CEAKRiLlvl5VhvxMML/LKHZH4H+220Z1Ovz0aBInMq/K4GpjH+c3XBkDgG6u8tdO8ORqk6QTTQRjiUCSIeo/Ahj1R+E9RrrC/rx+b5Vw/IzNKKQAAAABJRU5ErkJggg==)"]