Directory

Directory

一个用于操作文件目录的静态方法。可以创建,移动,获取目录及子目录的地址。

Diretory类 属于System.IO命名空间,使用前需将其引用。

Directory属于静态类,其方法都为静态方法,使用时直接类名.方法就可以。

 

创建文件夹

在F盘 a文件夹下创建一个名字文new 的文件夹。

           DirectoryInfo di = Directory.CreateDirectory(@"F:\a\new");

 

            string path = @"F:\a\new";

            DirectoryInfo di1 = Directory.CreateDirectory(path);

 

注意 在创建文件夹之前要先判断一下该目录下是否有同名的文件夹。否则会报错

 

判断方法

 

  if (Directory.Exists(@"F:\a\new"))

            {

            }

 

 if (Directory.Exists(path))

            {

            }

 

 

删除文件夹

Directory.Delete(path);

         Directory.Delete(@"F:\a\new");

该方法只能删除空文件夹,若该文件夹下有文件或者文件夹,则会报错

若要将子文件夹和子文件一并删除则用如下

Directory.Delete(path, true);

            Directory.Delete(@"F:\a\new",true);

True表示直接删除

注意 该删除不会存放在回收站,所以删除要小心。、

 

移动文件夹

将F盘a文件夹下new文件下的所有文件及文件夹移动至D盘b文件下

就是剪切移动,移动后原文件就不存在了。

string oldpath = @"F:\a\new";

            string newpath = @"D:\b";

            Directory.Move(oldpath, newpath);

 

 

 

获取文件夹下所有文件及文件夹的名称(包括路径)

返回值为一个字符串数组

 

  string[] dirs = Directory.GetFiles(@"c:\");

 

dirs里的值就是包含路径的文件名

C:\Windows\text.txt

然后通过下标就可以获取每个文件,或者遍历文件了。

 

 

若只想获取某些指定类型的文件,或者包含某些字符的文件名的文件,可以在后面添加参数

如果该类型的文件或者包含指定字符的文件不存在,不会报错。这点要注意

  string[] dirs = Directory.GetFiles(@"c:\", "c*");
  string[] dirs = Directory.GetFiles(@"c:\", "*.jpg");
 
代码1为获取所有以C开头的文件及文件夹名(包含路径)
代码2为获取所有.jpg格式的文件
 

Directory类在操作文件及文件夹时提供了很多的方法,这里只写了几种比较常用的。欢迎大家指正。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
共两个不同设计例子,都含详细的文档资料。 任务2.设计一个简单的二级文件系统 设计要求: 在任一OS下,建立一个大文件,把它假象成硬盘,在其中实现一个简单的模拟文件系统。 编写一管理程序对此空间进行管理,要求: 1. 实现盘块管理 2. 实现文件的读写操作 3. 每组最多2人,小组内要有明确分工,课程设计报告中设计部分可以相同,个人实现部分不同 参考建议: 将模拟硬盘的文件空间划分为目录区,文件区;采用位示图进行空间管理,盘块的分配使用显示链接(FAT表)的方式。 设计技术参数(数据结构)参考: #define MaxSize 100 #define Disk 512 //每个盘块大小为512bit #define NumDisk 2048 //有2048个盘块,既可分配空间为 1M /*************目录和文件的结构定义***********************/ struct DirectoryNode { char name[9]; /*目录或文件的名字*/ int type; /*0代表目录,1代表普通文件*/ struct DirectoryNode *next; /*指向下一个兄弟结点的指针*/ struct DirectoryNode *preDirFile; /*指向父结点的指针*/ struct DirectoryNode *subFile; /*指向第一个子结点的指针*/ int size; /*如果是文件则表示文件的大小*/ int first; /*起始盘块号*/ int last; /*末尾盘块号*/ int order; /*备用*/ }; //连续分配 struct FileSys { int VacTable[NumDisk]; //空闲表,0为空闲,1为被用 struct DirectoryNode root; //根目录 struct DirectoryNode Directory[NumDisk]; } *filesys; typedef struct { struct DirectoryNode *DirFile; char name[9]; }DataType; //包含一个指向目录的指针和名字 typedef struct { //队列结构的实现 DataType data[MaxSize]; int front,rear; //分别表示队列的头结点和尾结点 }Tp; void InitQueue(Tp *sq) //队列初始化 int EnAddQueue(Tp *sq,DataType data) //在队列中增加元素 DataType EnDelQueue(Tp *sq) //从队列中删除一个元素 int Empty(Tp *sq) //判断队列是否为空,返回0表示队列为空 ①.Dir:显示目录内容命令,显示当前目录下的文件和子目录。 ②.Md:创建目录操作。 ③.Create:创建文件,在当前目录下创建一个文件。 ④. all:显示从根目录开始的所有目录和文件及其层次结点。 ⑤.Cd:改变目录。 ⑥.Del:删除文件操作。 ⑦. Rd:删除目录操作,删除当前目录下的子目录。 ⑧. Ren:重命名函数 ⑨. Exit:退出命令
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值