通过指定路径訪问路径下的文件。在C#的开发中主要利用了Directory类和DirectoryInfo类,简要介绍Directory类中的成员:命名空间
System.IO 命名空间
1、CreateDirectory。已重载,用于创建指定路径下的全部文件夹。
2、Delete,删除指定文件夹。
3、Exists,确定给定文件夹是否引用磁盘现有文件夹;说白点就是推断路径是否存在;
4、GetCreationTime,获取文件夹的创建时间和日期;
4、GetCurrentDirectory,获取应用程序的当前文件夹;
5、GetDirectories。获取指定文件夹下子文件夹的名称。返回值是一个字符串数组。
6、GetFiles。获取指定路径下的文件名;
7、GetFileSystemEntries,获取指定路径下全部文件和子文件夹的名称;
8、GetParent。获取指定路径的父文件夹;
9、Move,将文件或文件夹移动到新位置;
(2)简要介绍下DirectoryInfo类的成员:
1、Create,创建指定文件夹;
2、Delete,从路径中删除DirectoryInfo和其内容
3、GetDirectories,获取当前文件夹的子文件夹;
4、GetFiles。获取当前文件夹下的文件列表;返回FileInfo[]类型的数组;
5、MoveTo,将 DirectoryInfo 实例及其内容移动到新路径。
代码实现:
/// <summary> /// 打开文件 /// </summary> private void bePath_Click(object sender, EventArgs e) { this.MenuList.Nodes.Clear(); FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog(); folderBrowserDialog.Description = "请选择文件夹:"; if (folderBrowserDialog.ShowDialog() == DialogResult.OK) { sPath = folderBrowserDialog.SelectedPath; } if (!string.IsNullOrEmpty(sPath)) { this.bePath.Text = sPath; TreeListNode ParentNode = this.MenuList.AppendNode(new object[] { sPath }, -1); GetSubFile(sPath, ParentNode); GetSubRoot(sPath, ParentNode); } }
/// <summary> /// 获取路径的集合 /// </summary> /// <param name="sPath"></param> private void GetSubRoot(string sFilePath, TreeListNode ParentNode) { if (string.IsNullOrEmpty(sFilePath)) { return; } string[] DirectoryList = Directory.GetDirectories(sFilePath); foreach (string sDirectory in DirectoryList) { ParentNode = this.MenuList.AppendNode(new object[] { sDirectory }, ParentNode); GetSubFile(sDirectory,ParentNode); GetSubRoot(sDirectory,ParentNode); } }
/// <summary> /// 获取路径下的文件 /// </summary> /// <param name="sSubRootPath"></param> /// <param name="ParentNode"></param> private void GetSubFile(string sSubRootPath, TreeListNode ParentNode) { FileInfo[] ArrayileInfo; DirectoryInfo pDirectoryInfo = new DirectoryInfo(sSubRootPath); ArrayileInfo = pDirectoryInfo.GetFiles("*."); if (ArrayileInfo.Length < 1) { return; } foreach (FileInfo pFileInfo in ArrayileInfo) { string sName = pFileInfo.Name; MenuList.AppendNode(new object[] { sName }, ParentNode); } }