首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

怎么使用队列进行文件遍历

2012-09-01 
【求助】如何使用队列进行文件遍历我最进忙着写一个文件搜索工具,已将完成了。使用的是递归的方法进行文件的

【求助】如何使用队列进行文件遍历
我最进忙着写一个文件搜索工具,已将完成了。使用的是递归的方法进行文件的遍历。但是,可惜的是,如果文件路径多了,就会出现堆栈泄露,等事情。在网上听说使用队列的方法就可以解决文件遍历的问题。所以,请教一下各位高手,如何使用队列遍历文件。谢谢!

[解决办法]
贴出你的主要代码——有4、5行就够了。
[解决办法]
贴出你的主要代码——有4、5行就够了。
[解决办法]
用队列储存要搜索的目录
队列搜索根目录
循环开始
从队列中取一个元素(目录)
获取该目录下所有目录,依次排入队列
获取该目录下所有文件,添加至结果集
循环直到队列为空

VB.NET code
Imports SystemImports System.Collections.GenericImports System.IONamespace MyTestModule Module1        Private Dirs As New Queue(Of String)    Public Sub Main()        Dim files As New List(Of String)        Console.WriteLine("Input Path:")        Dim root = Console.ReadLine()        Dirs.Enqueue(root)        Dim currentDir As String        Do            currentDir = Dirs.Dequeue()            Try                For Each dir As String In Directory.GetDirectories(currentDir)                    Dirs.Enqueue(dir)                Next                files.AddRange(Directory.GetFiles(currentDir))            Catch                Continue Do            End Try        Loop Until Dirs.Count = 0        files.ForEach(AddressOf Console.WriteLine)    End Sub    End ModuleEnd Namespace 

热点排行