C#使用FileInfo和DirectoryInfo類來執(zhí)行文件和文件夾操作
System.IO.FileInfo 和 System.IO.DirectoryInfo 是C#中用于操作文件和文件夾的類,它們提供了許多有用的方法和屬性來管理文件和文件夾。
System.IO.FileInfo:
FileInfo 類用于操作單個(gè)文件的信息和內(nèi)容。以下是一些常用的方法和屬性:
Exists:檢查文件是否存在。FullName:獲取文件的完整路徑。Name:獲取文件的名稱(包括擴(kuò)展名)。Length:獲取文件的大?。ㄒ宰止?jié)為單位)。CreationTime、LastAccessTime、LastWriteTime:分別獲取文件的創(chuàng)建時(shí)間、最后訪問時(shí)間和最后寫入時(shí)間。CopyTo:將文件復(fù)制到指定的目標(biāo)路徑。MoveTo:將文件移動(dòng)到指定的目標(biāo)路徑。Delete:刪除文件。
System.IO.DirectoryInfo:
DirectoryInfo 類用于操作文件夾的信息和內(nèi)容。以下是一些常用的方法和屬性:
Exists:檢查文件夾是否存在。FullName:獲取文件夾的完整路徑。Name:獲取文件夾的名稱。CreationTime、LastAccessTime、LastWriteTime:分別獲取文件夾的創(chuàng)建時(shí)間、最后訪問時(shí)間和最后寫入時(shí)間。GetFiles:獲取文件夾中的文件列表。GetDirectories:獲取文件夾中的子文件夾列表。CreateSubdirectory:在當(dāng)前文件夾下創(chuàng)建子文件夾。MoveTo:將文件夾移動(dòng)到指定的目標(biāo)路徑。Delete:刪除文件夾。
這些類提供了方便的方法來處理文件和文件夾的操作,可以根據(jù)具體的需求來選擇使用 FileInfo 或 DirectoryInfo 。使用這些類可以更加靈活地進(jìn)行文件和文件夾的管理和操作。
使用 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}");
// 復(fù)制文件到新路徑
string newFilePath = @"C:\newfolder\sample.txt";
fileInfo.CopyTo(newFilePath, true); // 第二個(gè)參數(shù)表示是否覆蓋目標(biāo)文件
// 移動(dòng)文件到新路徑
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");
// 移動(dòng)文件夾到新路徑
string movedFolderPath = @"D:\movedfolder";
directoryInfo.MoveTo(movedFolderPath);
// 刪除文件夾
directoryInfo.Delete(true); // 第一個(gè)參數(shù)表示是否刪除包括子文件和子文件夾
}
else
{
Console.WriteLine("Folder does not exist.");
}
}
}到此這篇關(guān)于C#使用FileInfo和DirectoryInfo類來執(zhí)行文件和文件夾操作的文章就介紹到這了,更多相關(guān)C#使用FileInfo和DirectoryInfo類內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Unity實(shí)現(xiàn)領(lǐng)取獎(jiǎng)勵(lì)特效
這篇文章主要為大家詳細(xì)介紹了Unity實(shí)現(xiàn)領(lǐng)取獎(jiǎng)勵(lì)特效,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-10-10
C#實(shí)現(xiàn)同Active MQ通訊的方法
這篇文章主要介紹了C#實(shí)現(xiàn)同Active MQ通訊的方法,簡單分析了Active MQ的功能及C#與之通訊的實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-07-07
WCF實(shí)現(xiàn)的計(jì)算器功能實(shí)例
這篇文章主要介紹了WCF實(shí)現(xiàn)的計(jì)算器功能,結(jié)合具體實(shí)例形式較為詳細(xì)的分析了WCF實(shí)現(xiàn)計(jì)算器功能的具體步驟與相關(guān)操作技巧,需要的朋友可以參考下2017-06-06
C# 正則判斷一個(gè)數(shù)字的格式是否有逗號的代碼
c#正則判斷一個(gè)格式化數(shù)字里是否有逗號的解決方法2008-07-07
C#使用Protocol Buffer(ProtoBuf)進(jìn)行Unity中的Socket通信
這篇文章主要介紹了C#使用Protocol Buffer(ProtoBuf)進(jìn)行Unity的Socket通信的實(shí)例,Protocol Buffer是Google開發(fā)的數(shù)據(jù)格式,也是除了XML和JSON之外人氣第三高的^^需要的朋友可以參考下2016-04-04

