Path类    对路径字符串进行操作(操作的是一个表示路径的字符串)。

方法:获得后缀 能合并路径 获取文件名

Directory和DirectoryInfo类    对目录的操作

方法:可以判断目录是否存在 创建目录 删除目录 获取目录下所有的子目录 获取目录下的所有子文件

File和FileInfo类    对文件进行操作

方法:读文件 写文件 追加文件  判断文件是否存在 创建文件 删除文件

 

命名空间都是System.IO;

 

Path类是一个静态类,静态类中不能有实例方法,静态类所有的成员都必须是实例的,用path里面的方法的时候可以直接用“.”点出来,因为Path里面的属性方法都是静态的

string ChangeExtension(string path,string extension)(*):该后缀名,不管文件夹是否存在,改的的是字符串的

string Combine(string path1,string path2):合并两个字符串

string GetDirectoryName(string path)(*):得到文件的目录名,同样也是对字符串的操作

string GetExtension(string path);//获得后缀名(带点(".")的)

string GetFileName(string path);//获得文件名

string GetFileNameWithoutExtension(string path);//获得没有后缀名的文件名

string GetFullPath(string path);//获得文件的全路径(相对路径的全路径)

string GetTempFileName();//得到一个唯一的临时文件名(*)

string GetTempPath();//得到临时文件夹的路径

View Code
 1  static void Main(string[] args)
 2         {
 3             string path = "c:\\abc\\bcd\\123\\xxx.rmvb";
 4             ////更改后缀名
 5             //path =  Path.ChangeExtension(path, "jpg");
 6             //Console.WriteLine(path);
 7 
 8             //合并路径
 9             //Console.WriteLine(Path.Combine("c:\\abc", "xxx.avi")); 
10 
11             //获取文件的目录
12             //Console.WriteLine(Path.GetDirectoryName(path));
13 
14             //Console.WriteLine(Path.GetExtension(path));//获得后缀名(带点(".")的)
15             //Console.WriteLine(Path.GetFileName(path));//获得文件名
16             //Console.WriteLine(Path.GetFileNameWithoutExtension(path));//获得没有后缀名的文件名
17 
18             //Console.WriteLine(Path.GetFullPath("09-Path.exe"));//获得文件的全路径(相对路径的全路径)
19 
20             Console.WriteLine(Path.GetTempFileName());//得到一个唯一的临时文件名(*)
21             Console.WriteLine(Path.GetTempPath());//得到临时文件夹的路径
22             Console.ReadLine();
23         }

Directory和DirectoryInfo,也是静态类

void Delete(string path,bool recursive)  删除目录,recursive表示是否递归删除,如果recursive为false则只能删除空目录

bool Exists(string path)  得到一个目录下的子目录

string[] GetDirectories(string path)(*)  得到一个目录下的子目录

string[] GetDirectories(string path,string searchPattern,SerachOption SearchOption)  通配符查找目录下的子目录

static string[] GetFiles(string path)(*) 得到一个目录下的文件

string[] GetFiles(string path,string searchPattern,SerachOption SearchOption)  通配符查找目录吓得文件

DirectorvInfo GetParent(string path)  得到目录的父目录

CreateDirectory():创建文件夹,创建已经存在的文件不会报错,因为给覆盖了,但是删除不存在的文件会报错,所以删除之前需要先判断一下来防止错误

Directory和DirectoryInfo的区别:Directory是静态类,static修饰;DirectoryInfo是实例类,sealed修饰,不能被继承,DirectoryInfo类可以同时获得文件夹名称和全路径,Directory没有办法一起返回文件夹的名字和路径

View Code
 1  static void Main(string[] args)
 2         {
 3             //实例类
 4             //DirectoryInfo di = new DirectoryInfo("");
 5             //di.Name; //文件夹名称,Directory没有办法一起返回文件夹的名字和路径
 6             //di.FullName;//文件夹全路径
 7 
 8             //静态类
 9             //Directory.CreateDirectory("c:\\abc\\1\\2\\3\\4\\5\\6\\7");
10             //创建已经存在的文件不会报错,因为给覆盖了,但是删除不存在的文件会报错,所以删除之前需要先判断一下来防止错误
11             if (Directory.Exists("c:\\abc"))
12             {
13                 Directory.Delete("c:\\abc",true);//强制删除,如果不加true,在该文件夹下面有子文件的时候无法删除的是
14             }
15             //获取当前文件夹下面的所有子文件夹,返回的是文件夹的路径(所有)
16             string[] paths = Directory.GetDirectories("c:\\abc", "*", SearchOption.AllDirectories);
17             //foreach (string path in paths)
18             //{
19             //    Console.WriteLine(path);
20             //}
21             //获取所有的文件(ini文件)
22             //string[] files = Directory.GetFiles("c:\\windows","*.ini",SearchOption.AllDirectories);
23             //foreach (string file in files)
24             //{
25             //    Console.WriteLine(file);
26             //}
27           
28             //直接输出该文件夹的父文件夹
29             Console.WriteLine(Directory.GetParent("c:\\abc\\1\\2\\3\\4\\5\\6\\7"));
30 
31             Console.ReadLine();
32         }

 

posted on 2012-12-21 23:32  DREAM.T  阅读(175)  评论(0)    收藏  举报