分享
 
 
 

小型资源管理器

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: |||超大  

初次接触到IO流,根据书本上的知识,加上自己的摸索,发现了一些好玩的事情.(书本上的知识或多或少,有时候不足以解决我们的问题!这时候我们就应该自己去求解!!!

所以我们学习的时候要抱有探索的精神,求知若渴是帮助我们获取更多知识的一种积极的精神态度,需要保持)

小型资源管理器

该项目主要是为了加载电脑磁盘中存在的所有文件夹和文件(directory,file)

这时候我遇到了第一个问题:书本上只有将指定的磁盘设为根节点,在窗体TreeView中添加该磁盘中的文件夹

(我去,那如果我的电脑上分了几十个磁盘分区,那我不得全指定了?我觉得微软肯定不会这么二,肯定有关于所有磁盘的类.

Disk是磁盘的意思,我就试了试,结果 = = 没有这个类,你妹的,我只好慢慢来)

然后就有了

1PRivatevoidGetDirectoryInDisk()2{3DriveInfo[] allDisk =System.IO.DriveInfo.GetDrives();4foreach(DriveInfo iteminallDisk)5{67TreeNode treeNode =newTreeNode();8treeNode.Text =item.Name;9treeNode.Tag =item;10tvAllDirectoryInfo.Nodes.Add(treeNode);11DirectoryInfo directory =item.RootDirectory;12//获取驱动器下所有的文件夹信息13DirectoryInfo[] allDirectory =directory.GetDirectories();14foreach(DirectoryInfo dirinallDirectory)15{16TreeNode subTreeNode =newTreeNode();17subTreeNode.Text =dir.Name;18subTreeNode.Tag =dir;19treeNode.Nodes.Add(subTreeNode);20}2122}23}

所有磁盘为根节点

结果华丽丽的爆了个这么个错误

(当时就有种去你妹的冲动,静下心来有发现了磁盘类型)

1//摘要:2//定义驱动器类型常数,包括 CDRom、Fixed、Network、NoRootDirectory、Ram、Removable 和 Unknown。3[Serializable]4[ComVisible(true)]5publicenumDriveType6{7//摘要:8//驱动器类型未知。9Unknown =0,10//11//摘要:12//此驱动器没有根目录。13NoRootDirectory =1,14//15//摘要:16//此驱动器是一个可移动存储设备,如软盘驱动器或 USB 闪存驱动器。17Removable =2,18//19//摘要:20//此驱动器是一个固定磁盘。21Fixed =3,22//23//摘要:24//此驱动器是一个网络驱动器。25Network =4,26//27//摘要:28//此驱动器是一个光盘设备,如 CD 或 DVD-ROM。29CDRom =5,30//31//摘要:32//此驱动器是一个 RAM 磁盘。33Ram =6,34}

磁盘类型

我就增加了一道判断解决了这个问题(学校的一个磁盘是虚拟光驱,产生了设备未就绪的问题)

1foreach(DriveInfo iteminallDisk)2{3if(item.DriveType ==DriveType.Fixed)4{5TreeNode treeNode =newTreeNode();6treeNode.Text =item.Name;7treeNode.Tag =item;8tvAllDirectoryInfo.Nodes.Add(treeNode);9DirectoryInfo directory =item.RootDirectory;10//获取驱动器下所有的文件夹信息11DirectoryInfo[] allDirectory =directory.GetDirectories();12foreach(DirectoryInfo dirinallDirectory)13{14TreeNode subTreeNode =newTreeNode();15subTreeNode.Text =dir.Name;16subTreeNode.Tag =dir;17treeNode.Nodes.Add(subTreeNode);18}19}20}

修改

接下来就是文件或文件夹的复制问题了.(右键菜单添加复制和删除)文件夹是没办法跨磁盘移动的,如果要移动只能在同一驱动器下!

1privatevoidCopyDirectory(stringsrcdir,stringdesdir)2{3stringfolderName = srcdir.Substring(srcdir.LastIndexOf("\\") +1);45stringdesfolderdir = desdir +"\\"+folderName;67if(desdir.LastIndexOf("\\") == (desdir.Length -1))8{9desfolderdir = desdir +folderName;10}11string[] filenames =Directory.GetFileSystemEntries(srcdir);1213foreach(stringfileinfilenames)//遍历所有的文件和目录14{15if(Directory.Exists(file))//先当作目录处理如果存在这个目录就递归Copy该目录下面的文件16{1718stringcurrentdir = desfolderdir +"\\"+ file.Substring(file.LastIndexOf("\\") +1);19if(!Directory.Exists(currentdir))20{21Directory.CreateDirectory(currentdir);22}2324CopyDirectory(file, desfolderdir);25}2627else//否则直接copy文件28{29stringsrcfileName = file.Substring(file.LastIndexOf("\\") +1);3031srcfileName = desfolderdir +"\\"+srcfileName;323334if(!Directory.Exists(desfolderdir))35{36Directory.CreateDirectory(desfolderdir);37}383940File.Copy(file, srcfileName);41}42}//foreach43}

文件或文件夹复制

使用递归操作.

这个小项目到这里就告一段落了,要学习的东西还有很多,继续努力.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有