C#获取文件信息大全

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

在.NET开发中,用C#获取文件信息是比较常见的操作。通过获取文件信息,我们可以了解文件的属性、大小、创建日期、修改日期等各种元数据信息。比如我们网站需要上传文件,可以用扩展名称控制上传的类型,获取文件的大小来限制上传文件等。本文将介绍一系列C#中获取文件信息的方法,帮助你轻松获取所需信息并进行文件处理。

1、使用`FileInfo`类获取文件信息

C#中提供了`FileInfo`[1]类,它封装了文件的信息和操作。通过实例化`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`[2]类也提供了获取文件信息的一些静态方法。

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`[3]类。

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`[4]类的一些静态方法。

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#文件处理中有所帮助,欢迎留言或者吐槽。

参考:

[1] https://learn.microsoft.com/zh-cn/dotnet/api/system.io.fileinfo

[2]https://learn.microsoft.com/zh-cn/dotnet/api/system.io.file

[3]https://learn.microsoft.com/zh-cn/dotnet/api/system.io.directory

[4]https://learn.microsoft.com/zh-cn/dotnet/api/system.io.path文章来源地址https://www.toymoban.com/news/detail-639987.html

来源公众号:DotNet开发跳槽

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

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

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

相关文章

  • c#实现OCR获取图片文字信息

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

    2024年02月11日
    浏览(83)
  • 【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日
    浏览(47)
  • 【驱动系列】C#获取电脑硬件显卡核心代号信息

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

    2024年02月21日
    浏览(65)
  • C#使用DateTime.Now.AddDays方法获取任一天的信息

    目录 一、使用DateTime对象的AddDays方法获取任一天信息方法 二、举例说明获取昨天的信息 三、涉及到的知识点 1. MessageBox.Show()中信息分行的办法         使用DateTime.Now属性可以得到当前的日期信息,此时调用ToString方法,并在该方法中添加指定的格式化字符串,可以按照

    2024年01月25日
    浏览(35)
  • 【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日
    浏览(38)
  • Unity C# 之 Http 获取网页的 html 数据,并去掉 html 格式等相关信息

    目录 Unity C# 之 Http 获取网页的 html 数据,并去掉 html 格式等相关信息 一、简单介绍 二、实现原理 三、注意事项 四、效果预览  五、关键代码 Unity中的一些知识点整理。 本节简单介绍在Unity开发中的,使用 HttpClient,获取指定网页的相关信息,然后进行数据清洗,去掉html 格

    2024年02月12日
    浏览(35)
  • FFmpeg获取媒体文件的视频信息

    视频包标志位 代码 结果 视频帧率 结果 视频编解码器 代码 结果 视频帧宽高 代码 结果 视频长度 代码 结果 完整代码 结果

    2024年02月07日
    浏览(105)
  • @ConfigurationProperties注解获取yml配置文件信息

    ConfigurationProperties注解主要用于将外部配置文件配置的属性填充到这个** Spring Bean实例 **中。 需要注意:它自己单独使用无效,需要配合其它注解一起使用。且对于Spring Bean才生效,普通的new 对象不生效。 ConfigurationProperties的使用方式: @ConfigurationProperties + @Component(或其它实

    2024年02月16日
    浏览(42)
  • 获取小程序生产、开发、体验等环境、版本信息、appid等信息

    可以把环境设置单独写的一个js里方便接口统一控制环境,完整代码如下 1、判断环境 env.js(该例子是在utils目录下创建的env.js,如果没有先创建个utils目录,也可以在其他目录创建env.js)   2、app.js里引用env以及使用 这样其他页面在写接口时就可以直接这一个地方切换环境就

    2024年02月17日
    浏览(35)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包