文件及IO操作(二)

FileInfo操作

下表描述了FileInfo类的一些常用属性:

属性

描述

Attributes

获得或设置当前文件相关的属性。这个属性继承自FileSystemInfo。

CreationTime

获取或设置当前文件的创建时间。这个属性继承自FileSystemInfo。

Directory

获取文件属于的目录的实例。

Exists

获得表示文件存在否的布尔值。

Extension

获取包含文件扩展的字符串。这个属性继承自FileSystemInfo。

FullName

获取包含文件全部路径的字符串。这个属性继承自FileSystemInfo。

LastAccessTime

获取文件的最后访问时间。这个属性继承自FileSystemInfo。

LastWriteTime

获得文件最后写入的时间。这个属性继承自FileSystemInfo。

Length

获得文件的大小。

Name

获取包含给定文件名的字符串。

string path=@"e:\a.txt";

FileInfo file=new FileInfo(path);//path表示文件地址;

文件的属性:

1 file.FullName;//获取文件全地址
2 file.Length.ToString() + "btyes";//获取文件大小
3 
4 file.CreationTime.ToLongTimeString();//获取文件的创建时间
5 
6 file.LastAccessTime.ToLongTimeString();//获取文件最后访问时间
7 
8 file.LastWriteTime.ToLongTimeString();//获取文件最后的修改时间
View Code

可以读取和保存路径:

1 file.WriteAllText(路径,内容);//把文件复制到路径指向的文件(如果没有改文件则自动创建,有则覆盖)
2 
3 file.ReadAllText(路径);//读取路径所指向文件的内容
View Code

获取目录的完整路径:

1 string dirname= file.DirectoryName;
View Code

DirectoryInfo操作

下表描述了DirectoryInfo类的一些公用属性:

属性

描述

Attributes

获得或设置当前文件的相关属性。这个属性继承自FileSystemInfo。

CreationTime

获得或设置当前文件的创建时间。这个属性继承自FileSystemInfo。

Exists

获得表示目录是否存在或不存在的布尔值。

Extension

获得包含文件扩展名的字符串。这个属性继承自FileSystemInfo。

FullName

获取包含目录全部目录的字符串。这个属性继承自FileSystemInfo。

LastAccessTime

获得最后访问目录的时间。这个属性派生自FileSystemInfo。

Name

得到给定文件的包含名称的字符串。

下表描述了DirectoryInfo类的一些常用的方法:

方法

描述

Create

创建一个目录。

CreateSubdirectory

创建一个子目录。

Delete

删除一个目录。

GetDirectories

在当前目录中匹配规则之后,返回目录。它也允许你在目录中搜索子目录。

GetFiles

在当前目录中返回文件。

 

string paths=@"e:\1";

DirectoryInfo dir=new DirectoryInfo(paths);

获取目录下的文件及文件夹的方法:

1 dir.GetFiles();//得到“1”文件夹下的所有文件,返回存有所有文件的FileInfo数组
2 
3 dir.GetDirectories();//的到“1”文件夹下的所有文件夹
View Code

判断目录是否存在:

1 if (!dir.Exists)//也可以Directory.Exists(paths)来实现
2   {
3       throw new FileNotFoundException(path + "目录没有找到");
4   }
View Code

获取上一级目录的目录名:

string parentpath= dir.Parent.FullName;
//
string parentpath=Directory.GetParent(paths).ToString();
View Code

删除选择的文件夹:

dir.Delete(true);//等价于Directory.Delete(dir.FullName,true);
View Code

创建文件夹:

dir.Create();
View Code

Path操作

下表描述了Path类的静态方法: 

 
ChangeExtension 更改路径字符串的扩展名
Combine(String, String)  将两个字符串组合成一个路径
GetDirectoryName 返回指定路径字符串的目录信息
GetExtension 返回指定的路径字符串的扩展名
GetFileName 返回指定路径字符串的文件名和扩展名
GetFileNameWithoutExtension 返回不具有扩展名的指定路径字符串的文件名
GetFullPath  返回指定路径字符串的绝对路径
GetInvalidFileNameChars 获取包含不允许在文件名中使用的字符的数组
GetInvalidPathChars 获取包含不允许在路径名中使用的字符的数组
GetPathRoot 获取指定路径的根目录信息
GetRandomFileName  返回随机文件夹名或文件名
GetTempFileName 创建磁盘上唯一命名的零字节的临时文件并返回该文件的完整路径
GetTempPath 返回当前用户的临时文件夹的路径
HasExtension 确定路径是否包括文件扩展名
IsPathRooted 获取指示指定的路径字符串是否包含根的值

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

获取指定路径的文件名:

1 string a = Path.GetFileName(writepath);//返回指定路径字符串的文件名和扩展名
2 string a = Path.GetFileName(writepath);//返回指定路径字符串的目录信息
View Code

合并路径:

 1 /*
 2       2.  合并两个字符路径字符串
 3        public static string Combine(string path1,string path2)
 4        参数:
 5          path1(String) ,第一个路径
 6          path2(String), 第二个路径
 7          返回值:
 8          String ,合并后的路径字符串。
 9          常见的合并操作为:
10 */       
11            string path3 = @"e:\test";
12            string path4 = @"1.txt";
13            string s5 = Path.Combine(path3, path4);
14            Console.WriteLine(s5); //返回:"c:\test\1.txt"
View Code

更改路径字符串的扩展名:

1 /*
 2       更改路径字符串的扩展名
 3         public static string ChangeExtension(string path,string extension)
 4           参数:
 5             path(String):要修改的路径信息.
 6             extension(String):新的扩展名。
 7             返回值:
 8             String,修改后的路径字符串。
 9 */            
10               //如果 extension 是 null,则返回的字符串包含指定的路径,其扩展名已移除(点还在)。
11               string str1 = Path.ChangeExtension(@"e:\test\1.txt", "");//返回e:\test\1.
12               Console.WriteLine(str1);
13               //如果 path 不具有扩展名,并且 extension 不是 null,则返回的路径字符串包含 extension,它追加到 path 的结尾。
14               string str2 = Path.ChangeExtension(@"e:\test\2", ".txt");//返回D:\test\2.txt
15               Console.WriteLine(str2);  
16               //仅更改路径字符串中的扩展名,并不会改变实际文件的扩展名或者目录。
View Code

获取指定路径字符串的目录信息:

 Console.WriteLine(Path.GetDirectoryName(@"e:\test\test1\1.txt"));//返回文件的目录名
View Code

实例:

 1 static void Main(string[] args)
 2         {
 3             if (args == null || args.Length < 1)
 4                 return;
 5             string myPath = args[0];
 6             Console.WriteLine("目录名称:{0}", Path.GetDirectoryName(myPath));
 7             Console.WriteLine("路径扩展名:{0}", Path.GetExtension(myPath));
 8             Console.WriteLine("文件名:{0}", Path.GetFileName(myPath));
 9             Console.WriteLine("不带扩展名的名称:{0}", Path.GetFileNameWithoutExtension(myPath));
10             Console.WriteLine("绝对全路径:{0}", Path.GetFullPath(myPath));
11             Console.WriteLine("根目录:{0}", Path.GetPathRoot(myPath));
12             Console.WriteLine("不带根目录的路径:{0}", Path.GetFullPath(myPath).Remove(0, 3));
13             Console.ReadKey();
14         }
View Code

 

posted @ 2013-10-28 15:11  豆豆0829  阅读(1164)  评论(5编辑  收藏  举报