C# File、Directory、Path各自的用法


File用法

string filePath=@"d:\Instrument\guitar.txt";
string destinationFilePath=@"d:\Favorite\guitar.txt";
string moveFilePath=@"d:\Garbage\guitar.txt";
if (File.Exists(filePath))
{
    Console.WriteLine("存在文件" + filePath);
}
else
{
    //Create时,文件夹d:\Instrument必须存在,否则会报错
    File.Create(filePath);
}
//Copy时,文件夹d:\Favorite必须存在,否则会报错
File.Copy(filePath, destinationFilePath, true);
//Move时,文件夹d:\Garbage必须存在,否则会报错
//Move时,如果moveFilePath值为d:\Garbage,
//那会创建一个名为Garbage的文件(没有后缀名)
File.Move(filePath, moveFilePath);
//Delete时没有目标文件不会报错
File.Delete(moveFilePath);

Directory用法


string directory=@"d:\Food\Meat";
string sourceDirName=@"d:\Music\Beyond";
string destDirName=@"d:\07\FavoriteMusic";
if (Directory.Exists(directory))
{
    Console.WriteLine("目录" + directory + "存在");
}
else
{
    //无论目录D:\Food是否存在,D:\Food\Meat都能成功创建
    Directory.CreateDirectory(directory);
}
//Move指的是把D:\Music中的Beyond文件夹,移动到D:\07文件夹中,
//然后重命名为FavoriteMusic
//D:\07文件夹必须存在否则会报错
//如果D:\07中已经存在名为FavoriteMusic的文件夹那程序会报错
//Beyond文件夹中的文件或子目录在移动过后还会保持原样
//Move不能跨盘符移动
Directory.Move(sourceDirName, destDirName);

//只能删除空目录,包含文件或子目录都无法删除
Directory.Delete(@"d:\test");
//删除目录,及其文件和子目录
Directory.Delete(@"d:\test",true);

//搜索"e:\学习"目录下的所有txt文件,不搜索子目录
string[] files = Directory.GetFiles(@"e:\学习", "*.txt", SearchOption.TopDirectoryOnly);

//搜索"e:\学习"目录下的所有文件,搜索子目录
string[] allFiles = Directory.GetFiles(@"e:\学习", "*", SearchOption.AllDirectories);

//后边的两个参数可以不填,默认搜索顶层目录的所有文件
string[] normalFiles = Directory.GetFiles(@"e:\学习");

//搜索"e:\学习"目录下的所有名字中包含“课”的文件夹,不搜索子目录
string[] directories = Directory.GetDirectories(@"e:\学习", "*课*", SearchOption.TopDirectoryOnly);


//搜索"e:\学习"目录下的所有名字中包含“课”的文件夹,搜索子目录
string[] allDirectories = Directory.GetDirectories(@"e:\学习", "*课*", SearchOption.AllDirectories);


//后边的两个参数可以不填,默认搜索顶层目录的所有文件夹
string[] normalDirectories = Directory.GetDirectories(@"e:\学习");


Path用法

string path = @"d:\Entertainment\Music\在雨中.mp3";

//fullPath==@"d:\Name\guoguo"
string fullPath = Path.Combine(@"d:\Name", "guoguo");

//root==@"d:\"
string root = Path.GetPathRoot(path);

//@"d:\Entertainment\Music"
string directoryName = Path.GetDirectoryName(path);
//fileName="在雨中.mp3"
string fileName = Path.GetFileName(path);
//fileNameWithoutExtension="在雨中"
string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(path);
//extension=".mp3"
string extension = Path.GetExtension(path);
//newPath=@"d:\Entertainment\Music\在雨中.avi"
//path的值不会改变
string newPath = Path.ChangeExtension(path, "avi");
//GetFullPath获取的是当前可执行程序的路径
//myFullPath=@"E:\Projects\20160725Share\20160725Share\bin\Debug\Data\text.txt"
string myFullPath = Path.GetFullPath(@"Data\text.txt");

猜你喜欢

转载自blog.csdn.net/qq_42335551/article/details/81194200