C#中常見(jiàn)的文件處理操作小結(jié)
1.管理文件
C# 中使用 File 類可以進(jìn)行文件的讀取、寫(xiě)入和刪除操作。File 類提供了多個(gè)靜態(tài)方法來(lái)處理文件,如 File.Exists() 用于檢查文件是否存在,F(xiàn)ile.ReadAllText() 用于讀取文件內(nèi)容,F(xiàn)ile.WriteAllText() 用于寫(xiě)入文件內(nèi)容,F(xiàn)ile.Delete() 用于刪除文件等操作。
using System;
using System.IO;
class Program
{
static void Main()
{
// 輸出當(dāng)前目錄
string currentDirectory = Directory.GetCurrentDirectory();
Console.WriteLine("當(dāng)前目錄: {0}", currentDirectory);
// 創(chuàng)建新文件夾并顯示消息
string newFolder = Path.Combine(currentDirectory, "NewFolder");
Directory.CreateDirectory(newFolder);
Console.WriteLine("已創(chuàng)建新文件夾: {0}", newFolder);
// 創(chuàng)建新文件并顯示消息
string newFile = Path.Combine(currentDirectory, "NewFile.txt");
File.WriteAllText(newFile, "Hello, World!");
Console.WriteLine("已創(chuàng)建新文件: {0}", newFile);
// 檢查文件是否存在并讀取內(nèi)容
if (File.Exists(newFile))
{
string fileContent = File.ReadAllText(newFile);
Console.WriteLine("文件內(nèi)容: {0}", fileContent);
}
// 刪除文件和文件夾并顯示消息
File.Delete(newFile);
Console.WriteLine("已刪除文件: {0}", newFile);
Directory.Delete(newFolder);
Console.WriteLine("已刪除文件夾: {0}", newFolder);
}
}
2.管理驅(qū)動(dòng)器
DriveInfo類可以獲取有關(guān)計(jì)算機(jī)上驅(qū)動(dòng)器的信息,例如可用空間、卷標(biāo)和驅(qū)動(dòng)器類型等。
using System;
using System.IO;
class Program
{
static void Main()
{
DriveInfo[] allDrives = DriveInfo.GetDrives();
foreach (DriveInfo d in allDrives)
{
Console.WriteLine("驅(qū)動(dòng)器 {0}", d.Name);
Console.WriteLine(" 驅(qū)動(dòng)器類型: {0}", d.DriveType);
if (d.IsReady == true)
{
Console.WriteLine(" 卷標(biāo): {0}", d.VolumeLabel);
Console.WriteLine(" 文件系統(tǒng): {0}", d.DriveFormat);
Console.WriteLine(" 當(dāng)前用戶可用空間:{0, 15} 字節(jié)", d.AvailableFreeSpace);
Console.WriteLine(" 總可用空間: {0, 15} 字節(jié)", d.TotalFreeSpace);
Console.WriteLine(" 驅(qū)動(dòng)器總大小: {0, 15} 字節(jié) ", d.TotalSize);
}
}
}
}
3.管理目錄
C# 中使用 Directory 類可以進(jìn)行目錄的創(chuàng)建、刪除和遍歷操作。Directory 類提供了多個(gè)靜態(tài)方法來(lái)處理目錄,如 Directory.CreateDirectory() 用于創(chuàng)建目錄,Directory.Delete() 用于刪除目錄,Directory.Exists() 用于檢查目錄是否存在,Directory.GetDirectories() 用于獲取目錄中的子目錄列表,Directory.GetFiles() 用于獲取目錄中的文件列表等操作。
// 創(chuàng)建新目錄
string newDirectory = Path.Combine(currentDirectory, "NewDirectory");
Directory.CreateDirectory(newDirectory);
Console.WriteLine("已創(chuàng)建新目錄: {0}", newDirectory);
// 檢查目錄是否存在并獲取子目錄列表和文件列表
if (Directory.Exists(newDirectory))
{
string[] subDirectories = Directory.GetDirectories(newDirectory);
Console.WriteLine("子目錄列表:");
foreach (string subDir in subDirectories)
{
Console.WriteLine(subDir);
}
string[] files = Directory.GetFiles(newDirectory);
Console.WriteLine("文件列表:");
foreach (string file in files)
{
Console.WriteLine(file);
}
}
// 刪除目錄
Directory.Delete(newDirectory);
Console.WriteLine("已刪除目錄: {0}", newDirectory);
4.管理路徑
C# 中使用 Path 類可以進(jìn)行路徑操作,包括合并路徑、獲取文件名和擴(kuò)展名等。Path 類提供了多個(gè)靜態(tài)方法來(lái)處理路徑,如 Path.Combine() 用于合并路徑, Path.GetFileName() 用于獲取文件名, Path.GetExtension() 用于獲取文件擴(kuò)展名等。
// 合并路徑示例
string path1 = @"C:\Dir1";
string path2 = "Dir2";
string combinedPath = Path.Combine(path1, path2);
Console.WriteLine("合并后的路徑: " + combinedPath);
// 獲取文件名和擴(kuò)展名示例
string filePath = @"C:\Dir1\file.txt";
string fileName = Path.GetFileName(filePath);
string fileExtension = Path.GetExtension(filePath);
Console.WriteLine("文件名: " + fileName);
Console.WriteLine("文件擴(kuò)展名: " + fileExtension);
5.獲取文件信息
C# 中使用 FileInfo 類可以獲取文件的詳細(xì)信息,如文件大小、創(chuàng)建時(shí)間、修改時(shí)間等。FileInfo 類提供了多個(gè)屬性和方法來(lái)獲取文件信息,如 Length 屬性用于獲取文件大小, CreationTime 屬性和 LastWriteTime 屬性分別用于獲取文件的創(chuàng)建時(shí)間和最后修改時(shí)間等。
using System;
using System.IO;
class Program
{
static void Main()
{
try
{
string filePath = @"C:\example\file.txt";
// 檢查文件是否存在
if (File.Exists(filePath))
{
FileInfo fileInfo = new FileInfo(filePath);
// 獲取文件名
string fileName = fileInfo.Name;
Console.WriteLine("文件名: " + fileName);
// 獲取文件大小
long fileSizeInBytes = fileInfo.Length;
Console.WriteLine("文件大小 (字節(jié)): " + fileSizeInBytes);
// 獲取文件擴(kuò)展名
string fileExtension = fileInfo.Extension;
Console.WriteLine("文件擴(kuò)展名: " + fileExtension);
// 獲取文件創(chuàng)建時(shí)間
DateTime creationTime = fileInfo.CreationTime;
Console.WriteLine("創(chuàng)建時(shí)間: " + creationTime);
}
else
{
Console.WriteLine("文件不存在");
}
}
catch (Exception ex)
{
Console.WriteLine("發(fā)生錯(cuò)誤: " + ex.Message);
}
}
}
6.控制如何處理文件
在 C# 中,您可以使用 File 類和 Directory 類來(lái)控制文件和目錄的處理。下面是一些常見(jiàn)的操作:
讀取文件內(nèi)容:
string text = File.ReadAllText(@"C:\example\file.txt");
寫(xiě)入文件內(nèi)容:
string content = "Hello, World!"; File.WriteAllText(@"C:\example\file.txt", content);
復(fù)制文件:
File.Copy(@"C:\example\file.txt", @"D:\backup\file.txt", true);
刪除文件:
File.Delete(@"C:\example\file.txt");
檢查文件是否存在:
if (File.Exists(@"C:\example\file.txt"))
{
// 文件存在時(shí)的處理邏輯
}
創(chuàng)建目錄:
Directory.CreateDirectory(@"C:\example\newfolder");
獲取目錄中的所有文件:
string[] files = Directory.GetFiles(@"C:\example");
foreach (string file in files)
{
Console.WriteLine(file);
}到此這篇關(guān)于C#中常見(jiàn)的文件處理操作小結(jié)的文章就介紹到這了,更多相關(guān)C#文件處理內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C#實(shí)現(xiàn)Excel導(dǎo)入sqlite的方法
這篇文章主要介紹了C#實(shí)現(xiàn)Excel導(dǎo)入sqlite的方法,是C#程序設(shè)計(jì)中非常重要的一個(gè)實(shí)用技巧,需要的朋友可以參考下2014-09-09
C#中Foreach循環(huán)遍歷的本質(zhì)與枚舉器詳解
這篇文章主要給大家介紹了關(guān)于C#中Foreach循環(huán)遍歷本質(zhì)與枚舉器的相關(guān)資料,foreach循環(huán)用于列舉出集合中所有的元素,foreach語(yǔ)句中的表達(dá)式由關(guān)鍵字in隔開(kāi)的兩個(gè)項(xiàng)組成,本文通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2021-08-08
使用C#代碼對(duì)Word文檔加密與解密的實(shí)現(xiàn)方法
在日常開(kāi)發(fā)中,我們經(jīng)常需要處理Word文檔的安全性需求,無(wú)論是給客戶合同添加密碼保護(hù),還是自動(dòng)化解密批量文檔進(jìn)行數(shù)據(jù)處理,操作既低效又難以集成到系統(tǒng)中,所以本文給大家介紹了使用C#代碼對(duì)Word文檔加密與解密的實(shí)現(xiàn)方法,需要的朋友可以參考下2025-08-08
深入Resource實(shí)現(xiàn)多語(yǔ)言支持的應(yīng)用詳解
本篇文章是對(duì)Resource實(shí)現(xiàn)多語(yǔ)言支持的應(yīng)用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05
C#實(shí)現(xiàn)的AES加密解密完整實(shí)例
這篇文章主要介紹了C#實(shí)現(xiàn)的AES加密解密,結(jié)合完整實(shí)例形式分析了C#實(shí)現(xiàn)的AES算法進(jìn)行加密與解密的相關(guān)技巧,需要的朋友可以參考下2016-07-07

