读书笔记(FileInfo DirectoryInfo)

  .net内建类型中提供了FileInfo和DirectoryInfo两个类型,用于操作文件和文件夹,有别于File 和Directory, FileInfo 和DirectoryInfo主要用于操作文件和文件夹系统中的结构,完成诸如创建,复制,读取信息,移动,判断是否存在,删除等功能

 1        static void ReadFileInfo(FileInfo fi)
 2         {
 3             Console.WriteLine("fileName: "+fi.Name);
 4             Console.WriteLine("fileDirectoryName: "+fi.DirectoryName);
 5             Console.WriteLine("fileLength: "+fi.Length);
 6             Console.WriteLine("fileCreationTime "+fi.CreationTime);
 7             Console.WriteLine("fileLastWriteTime "+fi.LastWriteTime);
 8             Console.WriteLine("fileLastAccessTime "+fi.LastAccessTime);
 9             Console.WriteLine("fileFullName "+fi.FullName);
10             Console.WriteLine("fileExtension "+fi.Extension);
11         }
12
13         static void ReadDirectoryInfo(DirectoryInfo di)
14         {
15             Console.WriteLine("DirectoryName: " +di.Name);
16             Console.WriteLine("DirectoryParentName: "+di.Parent.Name);
17             Console.WriteLine("DirectoryLastWriteTime: "+di.LastWriteTime);
18             Console.WriteLine("DirectoryLastAccessTime: "+di.LastAccessTime);
19             Console.WriteLine("DirectoryFullName: "+di.FullName);
20             FileInfo[] fis = di.GetFiles();
21             foreach (FileInfo fi in fis)
22                 ReadFileInfo(fi);
23             DirectoryInfo[] dis = di.GetDirectories();
24             foreach (DirectoryInfo ndi in dis)
25                 ReadDirectoryInfo(ndi);
26         }
27
28         static void DirectoryTest()
29         {
30             DirectoryInfo di = null;
31             try
32             {
33                 di = new DirectoryInfo("C:\\Test");
34                 di.Create();
35                 di.CreateSubdirectory("subDi");
36                 FileInfo info = new FileInfo("C:\\Test\\subDi\\test.txt");
37                 using (FileStream fs = info.Create()) { }
38                 ReadDirectoryInfo(di);
39                 di.MoveTo("C:\\Test2");
40             }
41             finally
42             {
43                 if (di != null)
44                 {
45                     //删除文件夹
46                     //一起删除文件和子文件夹
47                     di.Delete(true);
48                 }
49             }
50         }
51
52         static void FileTest()
53         {
54             FileInfo info = null;
55             FileInfo newinfo = null;
56             try
57             {
58                 info = new FileInfo("C:\\test1.txt");
59                 using (FileStream fs = info.Create()) { }
60                 ReadFileInfo(info);
61                 info.MoveTo("C:\\test2.txt");
62                 newinfo = info.CopyTo("C:\\test3.txt");
63                 ReadFileInfo(newinfo);
64             }
65             finally
66             {
67                 if (info != null)
68                     info.Delete();
69                 if (newinfo != null)
70                     newinfo.Delete();
71             }
72         }

读书笔记(FileInfo DirectoryInfo)

时间: 2024-11-09 02:01:54

读书笔记(FileInfo DirectoryInfo)的相关文章

《你必须知道的.NET》读书笔记一:小OO有大智慧

此篇已收录至<你必须知道的.Net>读书笔记目录贴,点击访问该目录可以获取更多内容. 一.对象  (1)出生:系统首先会在内存中分配一定的存储空间,然后初始化其附加成员,调用构造函数执行初始化,这样一个对象实体就完成了出生过程. Person aPerson = new Person("小周" , 25); (2)旅程:在某种程度上就是外界通过方法与对象交互,从而达到改变对象状态信息的过程.这也和人的生存之道暗合. aPerson.ChangeName("Edis

读书笔记(委托)

委托回调静态方法和实例方法有何区别 当委托绑定静态方法时,内部的对象成员变量_target会被设置成null 当委托绑定实例方法是,_target将会设置成指向该实例方法所属的一个实例对象 当委托被执行时,该对象实例将会用来调用实例方法 1 class DelegateReturn 2 { 3 public delegate String GetStringDelegate(); 4 5 static string GetTypeName() 6 { 7 return typeof(Delega

《C#图解教程》读书笔记之三:方法

本篇已收录至<C#图解教程>读书笔记目录贴,点击访问该目录可获取更多内容. 一.方法那些事儿 (1)方法的结构:方法头-指定方法的特征,方法体-可执行代码的语句序列: (2)方法的调用:参数.值参数.引用参数.输出参数.参数数组: ①参数: 形参-本地变量,声明在参数列表中:形参的值在代码开始之前被初始化: 实参-实参的值用于初始化形参: ②值参数: 为形参在栈上分配内存,将实参的值复制到形参: ③引用参数: 不为形参在栈上分配内存,形参的参数名作为实参变量的别名指向同一位置,必须使用ref关

《C#图解教程》读书笔记之五:委托和事件

本篇已收录至<C#图解教程>读书笔记目录贴,点击访问该目录可获取更多内容. 一.委托初窥:一个拥有方法的对象 (1)本质:持有一个或多个方法的对象:委托和典型的对象不同,执行委托实际上是执行它所"持有"的方法.如果从C++的角度来理解委托,可以将其理解为一个类型安全的.面向对象的函数指针. (2)如何使用委托? ①声明委托类型(delegate关键字) ②使用该委托类型声明一个委托变量 ③为委托类型增加方法 ④调用委托执行方法 (3)委托的恒定性: 组合委托.为委托+=增加

《Effective C++》读书笔记汇总

我之前边读<Effective C++>边写下每个条款的读书笔记,这一版是C++11之前的版本.这里我将每个条款令我印象深刻的点小结一下. 1.C++包括:Plain C(面向过程).OOP(面向对象).模板(泛型和模板元编程).STL(C++标准库). 2.用inline.enum.const代替#define.#define定义的宏,一旦复杂起来,高手都很难掌控.不要带入C的习惯. 3.灵活使用const前缀.不需要进行改变的数据加上const前缀.指针的const前缀有两种形式,cons

【读书笔记】《Linux内核设计与实现》内核同步介绍&内核同步方法

简要做个笔记,以备忘. 需同步的原因是,我们并发访问了共享资源.我们将访问或操作共享资源的代码段称"临界区",如果两个执行线程处于同一临界区中同时执行,称"竞争条件".这里术语执行线程指任何正在执行的代码实例,如一个在内核执行的进程.一个中断处理程序或一个内核线程. 举个简单例子,i++操作.该操作可以转换为下面的机器指令序列: 1.得到当前变量i的值,并保存到一个寄存器. 2.将寄存器的值加1. 3.将i的新值写回到内存中. 当两个线程同时进入这个临界区,若i初值

鸟哥的Linux私房菜 基础学习篇读书笔记(7):Linux文件与目录管理

这一章主要讲述的是如何操作与管理Linux系统中的文件和目录,主要包括目录间的切换,目录的创建与删除,文件的创建与删除,文件的查找,文件内容的查看等等. 前一章中已经讲过相对路径以及绝对路径,绝对路径就是指从根目录("/")开始写起的路径名,而相对路径绝不会由根目录开始写起,相反,相对路径是相对于当前工作目录的路径名.Linux操作系统中有几个特殊的目录: . 代表此层目录: .. 代表上一层目录: - 代表前一个工作目录: ~ 代表当前用户身份所在的主文件夹: ~account 代表

《30天自制操作系统》读书笔记(2)hello, world

让系统跑起来 要写一个操作系统,我们首先要有一个储存系统的介质,原版书似乎是06年出版的,可惜那时候没有电脑,没想到作者用的还是软盘,现在的电脑谁有软驱?不得已我使用一张128M的SD卡来代替,而事实上你用的是U盘还是软盘对我们的操作系统没有影响,缺点是你的U盘刷入系统后容量只能是1440 MB,即当年流行的3.5英寸软盘的大小,当然不用担心,再格式化一次(用DiskGeniu),就可以恢复. 我做事情的话,总是怕自己的努力的结果白费了,害怕辛辛苦苦看完这本书但是发现做出来的东西现在根本没法用,

《巴菲特与索罗斯的投资习惯》读书笔记

巴菲特与索罗斯的投资习惯 收益与风险 收益越高风险越大,或者风险越大收益越高都是没有道理的,风险和收益逻辑上不一定是正相关的,只不过收益越高,人们愿意承担的风险越高而已. 降低风险的同时提高收益是不矛盾的.但风险控制应优先于收益. 同样的事情,对你来说是危险的,但对于高手来说则没有风险,因此,为了降低风险,尽力成为高手吧 关于投资 赚钱只是投资的目的而已,投资策略才是投资的手段. 只是将注意力集中在目的上是没有意义的,因为它只是你的手段所产生的自然结果. 因此我们需要把注意力几种在对投资策略的调