C#的基础琐碎总结-----目录与文件
注:C#的文件操作都是包含在System.Io的命名空间里面。
一、 Path类:
对一个路径做相应操作,包括文件路径,目录路径。通常会用到Path这个类。
1.更改路径字符串的扩展名
Public static string ChangeExtension(string path,string extension)
参数:
path(String):要修改的路径信息.
extension(String):新的扩展名。
返回值:String,修改后的路径字符串。
注意细节:a、如果 extension 是 null,则返回的字符串包含指定的路径,其扩展名已移除(点还在)。string s =Path.ChangeExtension(@"c:\path.dll", "");//返回:"c:\path."b、如果 path 是 null 或空字符串 (""),则返回的路径信息是未修改的。string s2 = Path.ChangeExtension("", ".txt");//返回:""C、如果 path 不具有扩展名,并且 extension 不是 null,则返回的路径字符串包含 extension,它追加到 path 的结尾。string s3 = Path.ChangeExtension(@"c:\目录", ".txt");//返回:"c:\目录.txt"。 如果这里的extension不含句点,会自动添加,返回的还是"c:\目录.txt"
2、合并两个字符路径字符串
public static string Combine(string path1,string path2)
参数:
path1(String) ,第一个路径
path2(String), 第二个路径
返回值:String ,合并后的路径字符串。
常见的合并操作为:
string path1 = @"c:\目录";
string path2 = @"install.txt";
string s4 = Path.Combine(path1, path2);
//返回:"c:\目录\install.txt"
3.获取指定路径字符串的目录信息
public static string GetDirectoryName(string path)
直接看几个示例了:
string fileName = @"C:\mydir\myfile.ext";
string path = @"C:\mydir\";
string rootPath = @"C:\";
Path.GetDirectoryName(fileName);
//返回:'C:\mydir'
Path.GetDirectoryName(path);
//返回:'C:\mydir'
Path.GetDirectoryName(rootPath);
//返回:””
4.获取指定路径字符串的扩展名
public static string GetExtension(string path)
string fileName = @"C:\mydir.old\myfile.ext";
string path = @"C:\mydir.old\";
Path.GetExtension(fileName);
//返回 : '.ext'
Path.GetExtension(path);
//返回 :' '
二、File类和FileInfo类
File类和FileInfo类的区别和使用方法.,两者的主要区别是File不能实例化,只提供静态方法,而后者可以实例化,提供的方法和File类相似. C#语言中通过File和FileInfo类来创建、复制、删除、移动和打开文件。在File类中提供了一些静态方法,使用这些方法可以完成以上功能,但File类不能建立对象。FileInfo类使用方法和File类基本相同,但FileInfo类能建立对象。在使用这两个类时需要引用System.IO命名空间。这里重点介绍File类的使用方法。
1、简单介绍些方法
AppendText:返回StreamWrite,向指定文件添加数据;如文件不存在,就创建该文件。
Copy:复制指定文件到新文件夹。
Create:按指定路径建立新文件
Delete:删除指定文件。
Exists:检查指定路径的文件是否存在,存在,返回true。
GetAttributes:获取指定文件的属性。
GetCreationTime:返回指定文件或文件夹的创建日期和时间。
GetLastAccessTime:返回上次访问指定文件或文件夹的创建日期和时间。
GetLastWriteTime:返回上次写入指定文件或文件夹的创建日期和时间。
Move:移动指定文件到新文件夹。
Open:返回指定文件相关的FileStream,并提供指定的读/写许可。
OpenRead:返回指定文件相关的只读FileStream。
OpenWrite:返回指定文件相关的读/写FileStream。
SetAttributes:设置指定文件的属性。
SetCretionTime:设置指定文件的创建日期和时间。
SetLastAccessTime:设置上次访问指定文件的日期和时间。
SetLastWriteTime:设置上次写入指定文件的日期和时间。
2、下面通过程序实例来介绍其主要方法:
(1)文件打开方法:File.Open
该方法的声明如下:public static FileStream Open(string path, FileMode mode)。
下面的代码打开存放在c:\Example目录下名称为e1.txt文件,并在该文件中写入hello。
FileStream TextFile=File.Open(@"c:\ Example\e1.txt",FileMode.Append);
byte [] Info={(byte)'h',(byte)'e',(byte)'l',(byte)'l',(byte)'o'};
TextFile.Write(Info,0,Info.Length);
TextFile.Close();
(2)文件创建方法:File.Create
该方法的声明如下:public static FileStream Create(string path)。下面的代码演示如何在c:\Example下创建名为e1.txt的文件。
FileStream NewText = File.Create(@"c:\Example\e1.txt");
NewText.Close();
(3)文件删除方法:File.Delete
该方法声明如下:public static void Delete(string path)。下面的代码演示如何删除c:\Example目录下的e1.txt文件。
File.Delete(@"c:\Example\e1.txt");
(4)文件复制方法:File.Copy
该方法声明如下:
public static void Copy(string sourceFileName,string destFileName,bool overwrite);
下面的代码将c:\Example\e1.txt复制到c:\Example\e2.txt。由于Cope方法的OverWrite参数设为true,所以如果e2.txt文件已存在的话,将会被复制过去的文件所覆盖。
File.Copy(@"c:\Example\e1.txt",@"c:\Example\e2.txt",true);
(5)文件移动方法:File.Move
该方法声明如下:public static void Move(string sourceFileName,string destFileName);下面的代码可以将c:\Example下的e1.txt文件移动到c盘根目录下。注意:只能在同一个逻辑盘下进行文件转移。如果试图将c盘下的文件转移到d盘,将发生错误。
File.Move(@"c:\Example\BackUp.txt",@"c:\BackUp.txt");
(6)判断文件是否存在的方法:File.Exist
该方法声明如下:public static bool Exists(string path);下面的代码判断是否存在c:\Example\e1.txt文件。
if(File.Exists(@"c:\Example\e1.txt"))//判断文件是否存在
(7)得到文件的属性
用下面的代码可以得到文件的属性,例如文件创建时间、最近访问时间、最近修改时间等等。
FileInfo fileInfo=new FileInfo(“file1.txt”);
string s=fileInfo.FullName+”文件长度=”+fileInfo.Length+”,建立时间=”+ fileInfo.CreationTime+”;
也可用如下代码:
string s=”建立时间=”+File.File.GetCreationTime(“file1.txt”)+”最后修改时间=”+ File.GetLastWriteTime(“file1.txt”)+”访问时间=”+File.GetLastAccessTime(“file1.txt”);
三、Directory类和DirectoryInfo类
Directory类来创建、复制、删除、移动文件夹。在Directory类中提供了一些静态方法,使用这些方法可以完成以上功能。但Directory类不能建立对象。DirectoryInfo类使用方法和Directory类基本相同,但DirectoryInfo类能建立对象。在使用这两个类时需要引用System.IO命名空间。这里重点介绍Directory类的使用方法。
Directory类常用的方法如下:
CreateDirectory:按指定路径创建所有文件夹和子文件夹。
Delete:删除指定文件夹。
Exists:检查指定路径的文件夹是否存在,存在,返回true。
GetCreationTime:返回指定文件或文件夹的创建日期和时间。
GetCurrentDirectory:获取应用程序的当前工作文件夹。
GetDirectories:获取指定文件夹中子文件夹的名称。
GetDirectoryRoot:返回指定路径的卷信息、根信息或两者同时返回。
GetFiles:返回指定文件夹中子文件的名称。
GetFileSystemEntries:返回指定文件夹中所有文件和子文件的名称。
GetLastAccessTime:返回上次访问指定文件或文件夹的创建日期和时间。
GetLastWriteTime:返回上次写入指定文件或文件夹的创建日期和时间。
GetLogicalDrives:检索计算机中的所有驱动器,例如A:、C:等等。
GetParent:获取指定路径的父文件夹,包括绝对路径和相对路径。
Move:将指定文件或文件夹及其内容移动到新位置。
SetCreationTime:设置指定文件或文件夹的创建日期和时间。
SetCurrentDirectory:将应用程序的当前工作文件夹设置指定文件夹。
SetLastAccessTime:设置上次访问指定文件或文件夹的日期和时间。
SetLastWriteTime:设置上次写入指定文件夹的日期和时间。
3、下面通过程序实例来介绍其主要方法:
(1)目录创建方法:Directory.CreateDirectory
方法声明如下:public static DirectoryInfo CreateDirectory(stri
补充:软件开发 , C# ,