Welcome

首页 / 软件开发 / C# / C#的文件存储管理

C#的文件存储管理2007-11-10 本站 17.2.1 目录管理

.Net框架结构在名字空间System.IO中为我们提供了Directory类来进行目录管理。利用它,我们可以完成对目录及其子目录进行创建、移动、浏览等操作,甚至还可以定义隐藏目录和只读目录。

Directory的构造函数形式如下:

public Directory(string path);
其中的参数path表示目录所在的路径。

Directory的主要属性有:

●Attributes:0x01表示只读,0x02表示隐藏。

●Name:当前路径名。

●Parent:上一级父目录名。

●Root:所在根目录名。

●Creation Time:目录创建时间。

●LastAccessTime:上一次访问目录的时间。

●LastWriteTime:上一次修改目录的时间。

我们常用到的Directory类的一些成员方法有:

●CreateDirectory(string path):创建子目录。

●CreateDirectories(string path):创建多级子目录。

●CreateFile(string filename):在当前目录下创建一个新文件。

●Delete():删除目录。

下面的例子中,我们利用Directory的CreateDirectory和CreateDirectories方法创建一级和二级目录。

程序清单17-1:

using System;using System.IO;class DirectoryTest{ public static void Main() {Directory d=new Directory("c:\C#");Directory d1;Directory d2;try{ d1=d.CreateSubdirectory("file1");}catch(IOException e){ Console.WriteLine("directory file1 failed because:{0}",e); return;}try{ d2=d.CreateSubdirectories("file1\file2"); //等于d2=d1.CreateSubDirectory("file2");}catch(IOException e){ Console.WriteLine("directory file2 failed because:{0}",e); return;} Console.WriteLine("Create directory successfully!"); }}
上面例子中的异常IOException表示准备创建的目录名已经存在。System.IO中提供了各种输入输出的异常,便于我们了解任务失败的原因所在,或者是给程序的用户提示信息。

同样我们可以进行目录删除操作。

程序清单17-2:

using System;using System.IO;class DirectoryTest{ public static void Main() {Directory d=new Directory("c:\C#file1");Directory[] subdir;try{subdir=d.GetDirectories();}catch(DirectoryNotFoundException e){ Console.WriteLine("Can not find such a directory because:{0}",e); return;}foreach(Directory dir in subdir){dir.Delete();}d.Delete();Console.WriteLine("Delete successfully!");}}