C#使用FileInfo和DirectoryInfo類來執(zhí)行文件和文件夾操作
System.IO.FileInfo 和 System.IO.DirectoryInfo 是C#中用于操作文件和文件夾的類,它們提供了許多有用的方法和屬性來管理文件和文件夾。
System.IO.FileInfo:
FileInfo 類用于操作單個文件的信息和內容。以下是一些常用的方法和屬性:
Exists:檢查文件是否存在。FullName:獲取文件的完整路徑。Name:獲取文件的名稱(包括擴展名)。Length:獲取文件的大?。ㄒ宰止?jié)為單位)。CreationTime、LastAccessTime、LastWriteTime:分別獲取文件的創(chuàng)建時間、最后訪問時間和最后寫入時間。CopyTo:將文件復制到指定的目標路徑。MoveTo:將文件移動到指定的目標路徑。Delete:刪除文件。
System.IO.DirectoryInfo:
DirectoryInfo 類用于操作文件夾的信息和內容。以下是一些常用的方法和屬性:
Exists:檢查文件夾是否存在。FullName:獲取文件夾的完整路徑。Name:獲取文件夾的名稱。CreationTime、LastAccessTime、LastWriteTime:分別獲取文件夾的創(chuàng)建時間、最后訪問時間和最后寫入時間。GetFiles:獲取文件夾中的文件列表。GetDirectories:獲取文件夾中的子文件夾列表。CreateSubdirectory:在當前文件夾下創(chuàng)建子文件夾。MoveTo:將文件夾移動到指定的目標路徑。Delete:刪除文件夾。
這些類提供了方便的方法來處理文件和文件夾的操作,可以根據(jù)具體的需求來選擇使用 FileInfo 或 DirectoryInfo 。使用這些類可以更加靈活地進行文件和文件夾的管理和操作。
使用 FileInfo:
using System;
using System.IO;
class Program
{
static void Main()
{
string filePath = @"C:\example\sample.txt";
// 創(chuàng)建 FileInfo 對象
FileInfo fileInfo = new FileInfo(filePath);
// 檢查文件是否存在
if (fileInfo.Exists)
{
Console.WriteLine($"File name: {fileInfo.Name}");
Console.WriteLine($"File size: {fileInfo.Length} bytes");
Console.WriteLine($"Creation time: {fileInfo.CreationTime}");
Console.WriteLine($"Last access time: {fileInfo.LastAccessTime}");
Console.WriteLine($"Last write time: {fileInfo.LastWriteTime}");
// 復制文件到新路徑
string newFilePath = @"C:\newfolder\sample.txt";
fileInfo.CopyTo(newFilePath, true); // 第二個參數(shù)表示是否覆蓋目標文件
// 移動文件到新路徑
string movedFilePath = @"D:\movedfolder\sample.txt";
fileInfo.MoveTo(movedFilePath);
// 刪除文件
fileInfo.Delete();
}
else
{
Console.WriteLine("File does not exist.");
}
}
}使用 DirectoryInfo:
using System;
using System.IO;
class Program
{
static void Main()
{
string folderPath = @"C:\example\folder";
// 創(chuàng)建 DirectoryInfo 對象
DirectoryInfo directoryInfo = new DirectoryInfo(folderPath);
// 檢查文件夾是否存在
if (directoryInfo.Exists)
{
Console.WriteLine($"Folder name: {directoryInfo.Name}");
Console.WriteLine($"Creation time: {directoryInfo.CreationTime}");
Console.WriteLine($"Last access time: {directoryInfo.LastAccessTime}");
Console.WriteLine($"Last write time: {directoryInfo.LastWriteTime}");
// 獲取文件夾中的文件列表
FileInfo[] files = directoryInfo.GetFiles();
foreach (FileInfo file in files)
{
Console.WriteLine($"File: {file.Name}, Size: {file.Length} bytes");
}
// 獲取文件夾中的子文件夾列表
DirectoryInfo[] subdirectories = directoryInfo.GetDirectories();
foreach (DirectoryInfo subdirectory in subdirectories)
{
Console.WriteLine($"Subfolder: {subdirectory.Name}");
}
// 創(chuàng)建子文件夾
string newSubfolderPath = Path.Combine(folderPath, "newsubfolder");
DirectoryInfo newSubdirectory = directoryInfo.CreateSubdirectory("newsubfolder");
// 移動文件夾到新路徑
string movedFolderPath = @"D:\movedfolder";
directoryInfo.MoveTo(movedFolderPath);
// 刪除文件夾
directoryInfo.Delete(true); // 第一個參數(shù)表示是否刪除包括子文件和子文件夾
}
else
{
Console.WriteLine("Folder does not exist.");
}
}
}到此這篇關于C#使用FileInfo和DirectoryInfo類來執(zhí)行文件和文件夾操作的文章就介紹到這了,更多相關C#使用FileInfo和DirectoryInfo類內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
C#使用Protocol Buffer(ProtoBuf)進行Unity中的Socket通信
這篇文章主要介紹了C#使用Protocol Buffer(ProtoBuf)進行Unity的Socket通信的實例,Protocol Buffer是Google開發(fā)的數(shù)據(jù)格式,也是除了XML和JSON之外人氣第三高的^^需要的朋友可以參考下2016-04-04

