本文共 3145 字,大约阅读时间需要 10 分钟。
参考:http://www.cnblogs.com/skylaugh/archive/2012/09/23/2698850.html
DirectoryInfo TheFolder=new DirectoryInfo(folderFullName);
//遍历文件夹
foreach(DirectoryInfo NextFolder in TheFolder.GetDirectories()) this.listBox1.Items.Add(NextFolder.Name);//遍历文件foreach(FileInfo NextFile in TheFolder.GetFiles()) this.listBox2.Items.Add(NextFile.Name);---------------------------------------------------------------------------------------------------------------
如何获取指定目录包含的文件和子目录
1. DirectoryInfo.GetFiles():获取目录中(不包含子目录)的文件,返回类型为FileInfo[],支持通配符查找; 2. DirectoryInfo.GetDirectories():获取目录(不包含子目录)的子目录,返回类型为DirectoryInfo[],支持通配符查找; 3. DirectoryInfo. GetFileSystemInfos():获取指定目录下(不包含子目录)的文件和子目录,返回类型为FileSystemInfo[],支持通配符查找;如何获取指定文件的基本信息; FileInfo.Exists:获取指定文件是否存在; FileInfo.Name,FileInfo.Extensioin:获取文件的名称和扩展名; FileInfo.FullName:获取文件的全限定名称(完整路径); FileInfo.Directory:获取文件所在目录,返回类型为DirectoryInfo; FileInfo.DirectoryName:获取文件所在目录的路径(完整路径); FileInfo.Length:获取文件的大小(字节数); FileInfo.IsReadOnly:获取文件是否只读; FileInfo.Attributes:获取或设置指定文件的属性,返回类型为FileAttributes枚举,可以是多个值的组合 FileInfo.CreationTime、FileInfo.LastAccessTime、FileInfo.LastWriteTime:分别用于获取文件的创建时间、访问时间、修改时间;
递归遍历文件夹和子文件夹:
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.IO; 6 7 namespace 遍历文件夹和子文件夹 8 { 9 class Program10 {11 private static FileStream fs;12 private static StreamWriter sw;13 14 static void Main(string[] args)15 {16 string path;17 int leval=0;18 19 Console.WriteLine("请输入需要列出内容的文件夹的完整路径和文件名:");20 path=Console.ReadLine();21 path.Replace('\\','/');22 23 fs = new FileStream("result.txt", FileMode.Create);24 sw = new StreamWriter(fs);25 26 //开始写入文件27 sw.WriteLine("遍历结果如下:");28 sw.WriteLine(path);29 30 listDirectory(path,leval);31 32 //清空缓冲区33 sw.Flush();34 //关闭流35 sw.Close();36 fs.Close();37 Console.WriteLine("请按任意键继续……");38 Console.ReadKey();39 }40 41 ///42 /// 列出path路径对应的文件夹中的子文件夹和文件43 /// 然后再递归列出子文件夹内的文件和文件夹44 /// 45 /// 需要列出内容的文件夹的路径46 /// 当前递归层级,用于控制输出前导空格的数量47 private static void listDirectory(string path,int leval)48 {49 DirectoryInfo theFolder = new DirectoryInfo(@path);50 51 leval++;52 53 //遍历文件54 foreach (FileInfo NextFile in theFolder.GetFiles())55 {56 for (int i = 0; i < leval; i++) sw.Write('\t');57 sw.Write("-->");58 sw.WriteLine(NextFile.Name);59 }60 61 //遍历文件夹62 foreach (DirectoryInfo NextFolder in theFolder.GetDirectories())63 {64 for (int i = 0; i < leval; i++) sw.Write('\t');65 sw.Write("--)");66 sw.WriteLine(NextFolder.Name);67 listDirectory(NextFolder.FullName, leval);68 }69 }70 }71 }