【实例 1】获取 D 盘中的驱动器类型、名称、文件系统名称、可用空间以及总空间大小。
class Program
{
static void Main(string[] args)
{
DriveInfo driveInfo = new DriveInfo("D");
Console.WriteLine("驱动器的名称:" + driveInfo.Name);
Console.WriteLine("驱动器类型:" + driveInfo.DriveType);
Console.WriteLine("驱动器的文件格式:" + driveInfo.DriveFormat);
Console.WriteLine("驱动器中可用空间大小:" + driveInfo.TotalFreeSpace);
Console.WriteLine("驱动器总大小:" + driveInfo.TotalSize);
}
【实例 2】获取计算机中所有驱动器的名称和文件格式。
class Program
{
static void Main(string[] args)
{
DriveInfo[] driveInfo = DriveInfo.GetDrives();
foreach (DriveInfo d in driveInfo)
{
if (d.IsReady)
{
Console.WriteLine("驱动器名称:" + d.Name);
Console.WriteLine("驱动器的文件格式" + d.DriveFormat);
}
}
}
}
【实例 3】在 F 盘下创建文件夹 code,并在该文件夹中创建 code-1和 code-2 两个子文件夹。
class Program
{
static void Main(string[] args)
{
DirectoryInfo directoryInfo = new DirectoryInfo("F:\\code");
directoryInfo.Create();
directoryInfo.CreateSubdirectory("code-1");
directoryInfo.CreateSubdirectory("code-2");
}
}
【实例 4】查看 F 盘下 code 文件夹中的文件夹。
class Program
{
static void Main(string[] args)
{
DirectoryInfo directoryInfo = new DirectoryInfo("F:\\code");
IEnumerable<DirectoryInfo>dir = directoryInfo.EnumerateDirectories();
foreach (DirectoryInfo dirInfo in dir)
{
Console.WriteLine(dirInfo.FullName);
}
}
}
【实例5】使用 Directory 类在 F 盘上操作 code 文件夹,要求先判断是否存在该文件夹,如果存在则删除,否则创建该文件夹。
class Program
{
static void Main(string[] args)
{
bool flag = Directory.Exists("F:\\code");
if (flag)
{
Directory.Delete("D:\\code", true);
}
else
{
Directory.CreateDirectory("F:\\code");
}
}
【实例6】在 F 盘的 code 文件夹下创建名为 test1.txt 的文件,并获取该文件的相关属性,然后将其移动到F盘下的 code-1 文件夹中。
class Program
{
static void Main(string[] args)
{
Directory.CreateDirectory("F:\\code");
FileInfo fileInfo = new FileInfo("F:\\code\\test1.txt");
if(!fileInfo.Exists)
{
fileInfo.Create().Close();
}
fileInfo.Attributes = FileAttributes.Normal;//设置文件属性
Console.WriteLine("文件路径:" + fileInfo.Directory);
Console.WriteLine("文件名称:" + fileInfo.Name);
Console.WriteLine("文件是否只读:" + fileInfo.IsReadOnly);
Console.WriteLine("文件大小:" + fileInfo.Length);
//先创建code-1 文件夹
//将文件移动到code-1文件夹下
Directory.CreateDirectory("F:\\code-1");
//判断目标文件夹中是否含有文件test1.txt
FileInfo newFileInfo = new FileInfo("F:\\code-1\\test1.txt");
if(!newFileInfo.Exists)
{
//移动文件到指定路径
fileInfo.MoveTo("F:\\code-1\\test1.txt");
}
}
}
【实例7】将上一节【实例6】中实现的内容使用 File 类完成。
class Program
{
static void Main(string[] args)
{
//在F盘下创建code文件夹
Directory.CreateDirectory("F:\\code");
Directory.CreateDirectory("F:\\code-1");
string path = "F:\\code\\test1.txt";
//创建文件
FileStream fs =File.Create(path);
//获取文件信息
Console.WriteLine("文件创建时间"+File.GetCreationTime(path));
Console.WriteLine("文件最后被写入时间" + File.GetLastWriteTime(path));
//关闭文件流
fs.Close();
//设置目标路径
string newPath = "F:\\code-1\\test1.txt";
//判断目标文件是否存在
bool flag = File.Exists(newPath);
if (flag)
{
//删除文件
File.Delete(newPath);
}
File.Move(path, newPath);
}
}
【实例8】从控制台输入一个路径,输出该路径的不含扩展名的路径、扩展名、文件全名、文件路径、更改文件扩展名。
class Program
{
static void Main(string[] args)
{
Console.WriteLine("请输入一个文件路径:");
string path =Console.ReadLine();
Console.WriteLine("不包含扩展名的文件名:"+Path.GetFileNameWithoutExtension(path));
Console.WriteLine("文件扩展名:"+Path.GetExtension(path));
Console.WriteLine("文件全名:" + Path.GetFileName(path));
Console.WriteLine("文件路径:" + Path.GetDirectoryName(path));
//更改文件扩展名
string newPath = Path.ChangeExtension(path, "doc");
Console.WriteLine("更改后的文件全名:" + Path.GetFileName(newPath));
}
}