C#获取文件信息的方法汇总

这篇具有很好参考价值的文章主要介绍了C#获取文件信息的方法汇总。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 

前言

 

在.NET开发中,用C#获取文件信息是比较常见的操作。通过获取文件信息,我们可以了解文件的属性、大小、创建日期、修改日期等各种元数据信息。比如我们网站需要上传文件,可以用扩展名称控制上传的类型,获取文件的大小来限制上传文件等。本文将介绍一系列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("文件大小(字节):" + fileInfo.Length);
        Console.WriteLine("文件创建时间:" + fileInfo.CreationTime);
        Console.WriteLine("文件最后修改时间:" + fileInfo.LastWriteTime);
        // 可以根据需要获取更多属性
    }
}

2、使用File类获取文件信息

除了FileInfo类,C#中的File类也提供了获取文件信息的一些静态方法。

using System;
using System.IO;

class Program
{
    static void Main()
    {
        string filePath = "C:\\Users\\username\\Documents\\example.txt";
        // 获取文件大小(字节)
        long fileSize = new FileInfo(filePath).Length;
        Console.WriteLine("文件大小(字节):" + fileSize);
        // 获取文件创建时间
        DateTime creationTime = File.GetCreationTime(filePath);
        Console.WriteLine("文件创建时间:" + 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("文件大小(字节):" + new FileInfo(file).Length);
            Console.WriteLine("文件创建时间:" + File.GetCreationTime(file));
        }
    }
}

4、获取文件的扩展名和类型

如果你要获取文件的扩展名或类型(MIME类型)等,可以使用Path类的一些静态方法。

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、结语

无论是使用FileInfo类、File类、Directory类还是Path类,C#提供了多种获取文件信息的方法,可以根据具体需求选择合适的方法来获取文件的属性、大小、时间等信息。更多信息大家可以参考官网。希望本文对你在C#文件处理中有所帮助,欢迎留言或者吐槽。文章来源地址https://www.toymoban.com/news/detail-642997.html

到了这里,关于C#获取文件信息的方法汇总的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C# 获取当前设备硬件信息

    需求描述 现在有这样一个需求: 我有A、B两台服务器,其中A是一个视频处理服务器,B是一个数据存储服务器。此时有一个视频需要先在A服务器上进行一系列处理后,再上传到B服务器上进行存储。 为了减少人工手动处理的工作量,A服务器需要主动向B发送数据,然后B服务器

    2023年04月09日
    浏览(42)
  • C# 获取QQ会话聊天信息

    目录 利用UIAutomation获取QQ会话聊天信息 效果  代码  目前遇到一个问题 其他解决办法 AutomationElement window = AutomationElement.FromHandle(get.WindowHwnd); AutomationElement QQMsgList = window.FindFirst(TreeScope.Descendants,     new PropertyCondition(AutomationElement.NameProperty, \\\"消息\\\")); if (QQMsgList != null) {    

    2024年01月22日
    浏览(47)
  • Spring的配置文件,如何配置端口号,,properties,yml获取配置项等方法,外观模式及其优缺点,日志代表的信息

    目录 一、回顾 二.如何配置端口号 配置文件,最重要的目的:解决硬编码问题-代码写死 1.常见配置项 yml获取配置项 多次获取配置项(yml会对我们的参数情况,进行的一定类型转换比如数字10,转换成“10”) null:使用key后面+-(破折号) 空字符串:key后面之间空着,但是不易读

    2024年02月04日
    浏览(60)
  • c#实现OCR获取图片文字信息

    如果IronOcr没有,或者没有中文识别数据库,可以走Nuget  

    2024年02月11日
    浏览(85)
  • 【C#】获取电脑CPU、内存、屏幕、磁盘等信息

    通过WMI类来获取电脑各种信息,参考文章:WMI_04_常见的WMI类的属性_wmi scsilogicalunit_fantongl的博客-CSDN博客 自己整理了获取电脑CPU、内存、屏幕、磁盘等信息的代码 可以获取下面这些信息: ComputerCheck Info: System Info:Windows 10 Enterprise, Enterprise, X64, Microsoft Windows 10.0.18363  CPU Info:

    2024年02月13日
    浏览(49)
  • 【驱动系列】C#获取电脑硬件显卡核心代号信息

    欢迎来到《小5讲堂》,大家好,我是全栈小5。 这是《驱动系列》文章,每篇文章将以博主理解的角度展开讲解, 特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对知识点的理解和掌握。 温馨提示:博主能力有限,理解水平

    2024年02月21日
    浏览(67)
  • JS获取cookie方法汇总

    JS提供了方便的设置cookie的办法,但是不像PHP那般用一个$_COOKIE函数就可以直接获取,JS需要对cookie的键值对进行操作,以下是汇总的四中读取cookie的方法 //方法一 var   acookie = document.cookie.split( \\\"; \\\" ); function   getcookie(sname){      for   ( var   i = 0; i acookie.length; i++) {       

    2024年02月21日
    浏览(42)
  • Python气象信息可视化方法汇总

            气象数据可视化是一种将气象数据通过图形、图像等视觉化手段进行呈现,以便更好地理解、分析和预测天气状况的系统。它的发展历程可以追溯到20世纪70年代,随着计算机技术和大数据处理能力的不断提升,气象数据可视化系统也得到了迅速发展,成为气象领

    2024年01月23日
    浏览(57)
  • JS 获取当前时间戳方法汇总

    2024年02月16日
    浏览(53)
  • 【C#】文件拖拽,获取文件路径

    【C#】编号生成器(定义单号规则、固定字符、流水号、业务单号) 本文链接:https://blog.csdn.net/youcheng_ge/article/details/129129787 【C#】日期范围生成器(开始日期、结束日期) 本文链接:https://blog.csdn.net/youcheng_ge/article/details/129040663 【C#】组件化开发,调用dll组件方法 本文链接

    2024年02月11日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包