System.IO.FileInfo
和 System.IO.DirectoryInfo
是C#中用于操作文件和文件夾的類,它們提供了許多有用的方法和屬性來管理文件和文件夾。
System.IO.FileInfo:
FileInfo
類用于操作單個文件的信息和內容。以下是一些常用的方法和屬性:
Exists
:檢查文件是否存在。FullName
:獲取文件的完整路徑。Name
:獲取文件的名稱(包括擴展名)。Length
:獲取文件的大小(以字節為單位)。CreationTime
、LastAccessTime
、LastWriteTime
:分別獲取文件的創建時間、最后訪問時間和最后寫入時間。CopyTo
:將文件復制到指定的目標路徑。MoveTo
:將文件移動到指定的目標路徑。Delete
:刪除文件。
System.IO.DirectoryInfo:
DirectoryInfo
類用于操作文件夾的信息和內容。以下是一些常用的方法和屬性:
Exists
:檢查文件夾是否存在。FullName
:獲取文件夾的完整路徑。Name
:獲取文件夾的名稱。CreationTime
、LastAccessTime
、LastWriteTime
:分別獲取文件夾的創建時間、最后訪問時間和最后寫入時間。GetFiles
:獲取文件夾中的文件列表。GetDirectories
:獲取文件夾中的子文件夾列表。CreateSubdirectory
:在當前文件夾下創建子文件夾。MoveTo
:將文件夾移動到指定的目標路徑。Delete
:刪除文件夾。
這些類提供了方便的方法來處理文件和文件夾的操作,可以根據具體的需求來選擇使用 FileInfo
或 DirectoryInfo
。使用這些類可以更加靈活地進行文件和文件夾的管理和操作。
?使用 FileInfo:
using System;
using System.IO;class Program
{static void Main(){string filePath = @"C:\example\sample.txt";// 創建 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); // 第二個參數表示是否覆蓋目標文件// 移動文件到新路徑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";// 創建 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}");}// 創建子文件夾string newSubfolderPath = Path.Combine(folderPath, "newsubfolder");DirectoryInfo newSubdirectory = directoryInfo.CreateSubdirectory("newsubfolder");// 移動文件夾到新路徑string movedFolderPath = @"D:\movedfolder";directoryInfo.MoveTo(movedFolderPath);// 刪除文件夾directoryInfo.Delete(true); // 第一個參數表示是否刪除包括子文件和子文件夾}else{Console.WriteLine("Folder does not exist.");}}
}