前言
在.NET開發(fā)中,用C#獲取文件信息是比較常見的操作。通過獲取文件信息,我們可以了解文件的屬性、大小、創(chuàng)建日期、修改日期等各種元數(shù)據(jù)信息。比如我們網(wǎng)站需要上傳文件,可以用擴展名稱控制上傳的類型,獲取文件的大小來限制上傳文件等。本文將介紹一系列C#中獲取文件信息的方法,幫助你輕松獲取所需信息并進行文件處理。
1、使用FileInfo
類獲取文件信息
C#中提供了FileInfo
類,它封裝了文件的信息和操作。通過實例化FileInfo
[1]對象,可以輕松獲取文件的各種信息。
using System;
using System.IO;
class Program
{
static void Main()
{
string filePath = "C:\\Users\\username\\Documents\\example.txt";
FileInfo fileInfo = new FileInfo(filePath);
Console.WriteLine("文件名稱:" + fileInfo.Name);
Console.WriteLine("文件全路徑:" + fileInfo.FullName);
Console.WriteLine("文件大?。ㄗ止?jié)):" + fileInfo.Length);
Console.WriteLine("文件創(chuàng)建時間:" + fileInfo.CreationTime);
Console.WriteLine("文件最后修改時間:" + fileInfo.LastWriteTime);
// 可以根據(jù)需要獲取更多屬性
}
}
2、使用File
類獲取文件信息
除了FileInfo
類,C#中的File
類也提供了獲取文件信息的一些靜態(tài)方法。
using System;
using System.IO;
class Program
{
static void Main()
{
string filePath = "C:\\Users\\username\\Documents\\example.txt";
// 獲取文件大?。ㄗ止?jié))
long fileSize = new FileInfo(filePath).Length;
Console.WriteLine("文件大小(字節(jié)):" + fileSize);
// 獲取文件創(chuàng)建時間
DateTime creationTime = File.GetCreationTime(filePath);
Console.WriteLine("文件創(chuàng)建時間:" + creationTime);
// 獲取文件最后修改時間
DateTime lastWriteTime = File.GetLastWriteTime(filePath);
Console.WriteLine("文件最后修改時間:" + lastWriteTime);
// 獲取文件屬性
FileAttributes attributes = File.GetAttributes(filePath);
Console.WriteLine("文件屬性:" + attributes);
}
}
3、使用Directory
類獲取目錄信息
如果需要獲取目錄下的文件信息,可以使用Directory
類。
using System;
using System.IO;
class Program
{
static void Main()
{
string directoryPath = "C:\\Users\\username\\Documents";
// 獲取目錄下的文件列表
string[] files = Directory.GetFiles(directoryPath);
foreach (string file in files)
{
Console.WriteLine("文件名:" + Path.GetFileName(file));
Console.WriteLine("文件大小(字節(jié)):" + new FileInfo(file).Length);
Console.WriteLine("文件創(chuàng)建時間:" + File.GetCreationTime(file));
}
}
}
4、獲取文件的擴展名和類型
如果你要獲取文件的擴展名或類型(MIME類型)等,可以使用Path
類的一些靜態(tài)方法。
using System;
using System.IO;
class Program
{
static void Main()
{
string filePath = "C:\\Users\\username\\Documents\\example.txt";
//獲取文件的全路徑
Console.WriteLine("獲取文件的全路徑:" + Path.GetFullPath(filePath););
//獲取文件所在的目錄
Console.WriteLine("獲取文件所在的目錄:" + Path.GetDirectoryName(filePath));
//獲取文件的名稱含有后綴 example.txt
Console.WriteLine("獲取文件的名稱含有后綴:" + Path.GetFileName(filePath));
//獲取文件的名稱沒有后綴 example
Console.WriteLine("獲取文件的名稱沒有后綴:" + Path.GetFileNameWithoutExtension(filePath));
//獲取路徑的后綴擴展名稱(包含點號) .txt
Console.WriteLine("獲取路徑的后綴擴展名稱:" + Path.GetExtension(filePath));
//獲取路徑的根目錄 C:\
Console.WriteLine("獲取路徑的根目錄:" + Path.GetPathRoot(filePath));
// 獲取文件類型(MIME類型)
string mimeType = "application/unknown"; // 默認值
if (!string.IsNullOrEmpty(extension))
{
Microsoft.Win32.RegistryKey regKey = Microsoft.Win32.Registry.ClassesRoot.OpenSubKey(extension);
if (regKey != null && regKey.GetValue("Content Type") != null)
{
mimeType = regKey.GetValue("Content Type").ToString();
}
}
Console.WriteLine("文件類型:" + mimeType);
}
}
5、結(jié)語
無論是使用FileInfo類、File類、Directory類還是Path類,C#提供了多種獲取文件信息的方法,可以根據(jù)具體需求選擇合適的方法來獲取文件的屬性、大小、時間等信息。更多信息大家可以參考官網(wǎng)。希望本文對你在C#文件處理中有所幫助,歡迎留言或者吐槽。
轉(zhuǎn)自:翔星
鏈接:cnblogs.com/xbhp/p/17622717.html
- EOF -
該文章在 2023/9/19 15:09:49 編輯過