遍历目录下所有各级子目录文件的全路径
2005-01-03 13:58
447 查看
public System.Collections.Specialized.StringCollection GetAllFiles(string rootdir)
{
System.Collections.Specialized.StringCollection result = new System.Collections.Specialized.StringCollection();
GetAllFiles(rootdir,result);
return result;
}
public void GetAllFiles(string parentDir,System.Collections.Specialized.StringCollection result)
{
string[] dir = System.IO.Directory.GetDirectories(parentDir);
for (int i=0;i<dir.Length;i++)
GetAllFiles(dir[i],result);
string[] file = System.IO.Directory.GetFiles(parentDir);
for (int i=0;i<file.Length;i++)
result.Add(file[i]);
}
具体调用如下:
private void button1_Click(object sender, System.EventArgs e)
{
System.Collections.Specialized.StringCollection result = GetAllFiles(@"c:/myfiles/");
for (int i=0;i<result.Count;i++)
MessageBox.Show(result[i]);
}
-----------------------------------------------------------
用2个循环就解决了
string[] dir = System.IO.Directory.GetDirectories(parentDir);
for (int i=0;i<dir.Length;i++)
{
GetAllFiles(dir[i],result);
string[] file = System.IO.Directory.GetFiles(parentDir);
for (int i=0;i<file.Length;i++)
{
result.Add(file[i]);
}
}
-----------------------------------------------------------
//递归列出目录下的所有文件和子目录
public void ListFiles( FileSystemInfo fileinfo )
{
if( ! fileinfo.Exists ) return;
DirectoryInfo dirinfo = fileinfo as DirectoryInfo;
if( dirinfo == null ) return; //不是目录
indent++;//缩进加一
FileSystemInfo [] files = dirinfo.GetFileSystemInfos();
for( int i=0; i< i++)>遍历目录下所有文件、子目录
{
FileInfo file = files[i] as FileInfo;
if( file != null ) // 是文件
{
this.richTextBox1.Text+=(WriteSpace(indent)+"|-"+
file.Name + "/t" + ConvertToKByte(file.Length)+"/r" );
}
else //是目录
{
this.richTextBox1.Text+=(WriteSpace(indent)+"+"+files[i].FullName+"/r");
ListFiles( files[i] ); //对子目录进行递归调用
}
}
indent--;//缩进减一
}
------------------------
System.Reflection.Assembly.GetAssembly.Location
//C#的控制台程序中,如何得到当前程序的路径
{
System.Collections.Specialized.StringCollection result = new System.Collections.Specialized.StringCollection();
GetAllFiles(rootdir,result);
return result;
}
public void GetAllFiles(string parentDir,System.Collections.Specialized.StringCollection result)
{
string[] dir = System.IO.Directory.GetDirectories(parentDir);
for (int i=0;i<dir.Length;i++)
GetAllFiles(dir[i],result);
string[] file = System.IO.Directory.GetFiles(parentDir);
for (int i=0;i<file.Length;i++)
result.Add(file[i]);
}
具体调用如下:
private void button1_Click(object sender, System.EventArgs e)
{
System.Collections.Specialized.StringCollection result = GetAllFiles(@"c:/myfiles/");
for (int i=0;i<result.Count;i++)
MessageBox.Show(result[i]);
}
-----------------------------------------------------------
用2个循环就解决了
string[] dir = System.IO.Directory.GetDirectories(parentDir);
for (int i=0;i<dir.Length;i++)
{
GetAllFiles(dir[i],result);
string[] file = System.IO.Directory.GetFiles(parentDir);
for (int i=0;i<file.Length;i++)
{
result.Add(file[i]);
}
}
-----------------------------------------------------------
//递归列出目录下的所有文件和子目录
public void ListFiles( FileSystemInfo fileinfo )
{
if( ! fileinfo.Exists ) return;
DirectoryInfo dirinfo = fileinfo as DirectoryInfo;
if( dirinfo == null ) return; //不是目录
indent++;//缩进加一
FileSystemInfo [] files = dirinfo.GetFileSystemInfos();
for( int i=0; i< i++)>遍历目录下所有文件、子目录
{
FileInfo file = files[i] as FileInfo;
if( file != null ) // 是文件
{
this.richTextBox1.Text+=(WriteSpace(indent)+"|-"+
file.Name + "/t" + ConvertToKByte(file.Length)+"/r" );
}
else //是目录
{
this.richTextBox1.Text+=(WriteSpace(indent)+"+"+files[i].FullName+"/r");
ListFiles( files[i] ); //对子目录进行递归调用
}
}
indent--;//缩进减一
}
------------------------
System.Reflection.Assembly.GetAssembly.Location
//C#的控制台程序中,如何得到当前程序的路径
相关文章推荐
- C#.NET中遍历指定目录下的文件(及所有子目录及子目录里更深层目录里的文件)
- grep技巧(-r):在某一目录下递归[所有子目录]查找某一字串:+文件路径
- c++遍历目录下所有子目录及文件
- 遍历目录及子目录列出所有文件和文件夹的代码
- C#遍历某目录及其子目录下所有文件的一个例子
- shell编程: 获得目录下(包括子目录)所有文件名,路径和文件大小
- asp.net遍历目录文件夹和子目录所有文件
- 遍历一个目录(含子目录)下所有文件
- MFC递归遍历目录下所有子目录和文件
- 使用Shell遍历目录及其子目录中的所有文件
- shell编程: 获得目录下(包括子目录)所有文件名,路径和文件大小
- 遍历目录中的所有文件和目录,并生成全路径
- C#遍历目录下的所有子目录和文件
- 获取指定目录及其子目录下所有文件的绝对路径
- MyEclipse------遍历某个路径下的(所有或特定)文件和目录
- 【Python】遍历某目录下的所有文件夹与文件的路径、输出中文乱码问题
- java 读取目录及子目录下指定文件名的路径 并放到一个List数组里面返回遍历和写到文件里
- 【Lua】关于遍历指定路径下所有目录及文件
- PHP中获取目录及子目录下的所有文件路径和目录路径
- 遍历目录所有文件并找出大小为0的文件路径 的脚本