DirectoryInfo
是 .NET 框架中的一個(gè)類(lèi),它提供了對(duì)文件系統(tǒng)目錄的訪問(wèn)和操作。如果你想要使用 DirectoryInfo
進(jìn)行文件備份,你可以通過(guò)以下幾個(gè)步驟來(lái)實(shí)現(xiàn):
獲取源目錄和目標(biāo)目錄:
DirectoryInfo
類(lèi)創(chuàng)建源目錄和目標(biāo)目錄的實(shí)例。遍歷源目錄:
GetFiles()
方法獲取源目錄中的所有文件。GetDirectories()
方法獲取源目錄中的所有子目錄,并對(duì)這些子目錄遞歸地進(jìn)行相同的備份操作。復(fù)制文件:
CopyTo()
方法將其從源目錄復(fù)制到目標(biāo)目錄。你可以選擇是否覆蓋目標(biāo)目錄中已存在的同名文件。處理異常:
(可選)添加備份日志:
下面是一個(gè)簡(jiǎn)單的示例代碼,展示了如何使用 DirectoryInfo
進(jìn)行文件備份:
using System;
using System.IO;
class Program
{
static void Main()
{
// 源目錄和目標(biāo)目錄的路徑
string sourceDirPath = @"C:\Source\Folder";
string targetDirPath = @"C:\Backup\Folder";
// 創(chuàng)建 DirectoryInfo 實(shí)例
DirectoryInfo sourceDir = new DirectoryInfo(sourceDirPath);
DirectoryInfo targetDir = new DirectoryInfo(targetDirPath);
// 確保目標(biāo)目錄存在,如果不存在則創(chuàng)建它
if (!targetDir.Exists)
{
targetDir.Create();
}
// 遍歷源目錄中的所有文件,并將它們復(fù)制到目標(biāo)目錄
try
{
FileInfo[] files = sourceDir.GetFiles();
foreach (FileInfo file in files)
{
string targetFilePath = Path.Combine(targetDirPath, file.Name);
file.CopyTo(targetFilePath, true); // 使用 true 參數(shù)以允許覆蓋同名文件
Console.WriteLine($"備份成功: {file.FullName}");
}
}
catch (Exception ex)
{
Console.WriteLine($"備份失敗: {ex.Message}");
}
}
}
請(qǐng)注意,這個(gè)示例代碼僅適用于單個(gè)文件夾的備份。如果你需要備份整個(gè)文件系統(tǒng)或多個(gè)文件夾,你需要對(duì)代碼進(jìn)行相應(yīng)的修改和擴(kuò)展。