网站链接: 我爱捣鼓
当前位置: 首页 > web开发  > Asp.net/C#

C#获取文件夹里所有文件的方法

2021/4/2 22:28:55

C#获取文件夹里所有文件主要用到了DirectoryInfo类的GetFiles方法,下面我们具体来看看如何使用?DirectoryInfo类是System.IO命名空间的一部分。它用于创建,删除和移动目录。它提供了执行与目录和子目录相关的操作的方法。这是一个密封的类,所以不能继承它。DirectoryI…

C#获取文件夹里所有文件主要用到了DirectoryInfo类的GetFiles方法,下面我们具体来看看如何使用?

DirectoryInfo类是System.IO命名空间的一部分。它用于创建,删除和移动目录。它提供了执行与目录和子目录相关的操作的方法。这是一个密封的类,所以不能继承它。

DirectoryInfo类提供了下面列出的构造函数,方法和属性。

C# DirectoryInfo语法

[SerializableAttribute]  

[ComVisibleAttribute(true)]  

public sealed class DirectoryInfo : FileSystemInfo

  • C# DirectoryInfo构造函数

下表列出了DirectoryInfo类的构造函数。


构造函数                                          描述

DirectoryInfo(String) 它用于在指定的路径上初始化DirectoryInfo类的新实例。

  • C# DirectoryInfo属性

下表中列出了DirectoryInfo类的属性。


属性                                            描述

Attributes                           它用于获取或设置当前文件或目录的属性。

CreationTime                           它用于获取或设置当前文件或目录的创建时间。

CreationTimeUtc                   它用于在协调的世界时间(UTC)中获取或设置创建时间。

Exists                                   它用于获取一个值,指示目录是否存在。

Extension                           它用于获取表示文件扩展部分的字符串。

FullName                                   它用于获取目录的完整路径。

LastAccessTime                         它用于获取或设置上次访问当前文件或目录的时间。

LastAccessTimeUtc                    用于在当前文件或目录被上次访问的协调世界时间(UTC)中获取或设置时间。

LastWriteTime                           它用于获取或设置当前文件或目录最后写入的时间。

LastWriteTimeUtc                      当最后一次写入当前文件或目录时,它用于在协调世界时(UTC)中获取或设置时间。

Name                                         它用于获取此DirectoryInfo实例的名称。

Parent                                        它用于获取指定子目录的父目录。

Root                                           它用于获取目录的根部分。

C# DirectoryInfo方法

下表列出了DirectoryInfo类中定义的方法。


方法                                                                描述

Create()                                                    它用于创建一个目录。

Create(DirectorySecurity)                    它用于使用DirectorySecurity对象创建目录。

CreateObjRef(Type)                            它用于创建一个对象,其中包含生成用于与远程对象通信的代理所需的所有相关信息。

CreateSubdirectory(String)                     它用于在指定的路径上创建一个子目录或子目录。

CreateSubdirectory(String,DirectorySecurity) 它用于在具有指定安全性的指定路径上创建子目录或子目录。

Delete()                                                      如果DirectoryInfo为空,则用于删除DirectoryInfo。

Delete(Boolean)                                      它用于删除DirectoryInfo的实例,指定是否删除子目录和文件。

EnumerateDirectories()                              它返回当前目录中可用的目录信息集合。

EnumerateFiles()                                      它在当前目录中返回无数的文件信息集合。

GetAccessControl()                                    它用于获取一个DirectorySecurity对象,该对象封装了目录的访问控制列表(ACL)条目。

GetDirectories()                                    它返回当前目录的子目录。

GetFiles()                                                    它从当前目录返回文件列表。

GetType()                                                   它用于获取当前实例的类型。

MoveTo(String)                                          它用于将DirectoryInfo实例及其内容移动到新路径。

Refresh()                                                    它用于刷新对象的状态。

SetAccessControl(DirectorySecurity)    它用于设置DirectorySecurity对象描述的访问控制列表(ACL)条目。

ToString()                                            它返回用户传递的原始路径。


using System.IO;
using System.Collections;
public class FileComparer : IComparer
        {
            int IComparer.Compare(Object o1, Object o2)
            {
                FileInfo fi1 = o1 as FileInfo;
                FileInfo fi2 = o2 as FileInfo;
                return fi1.CreationTime.CompareTo(fi2.CreationTime);
            }
        }
        public class MyClass
        {
            public FileInfo[] GetFiles(string path)
            {
                DirectoryInfo di = new DirectoryInfo(path);
                FileInfo[] files = di.GetFiles();
                FileComparer fc = new FileComparer();
                Array.Sort(files, fc);
                return files;
            }
        }


使用

     FileInfo[] a = new MyClass().GetFiles(@"D:\data");


这就是C#获取文件夹里所有文件的具体实现方法,粘贴到项目里就直接能用,希望对大家有所帮助!

相关资讯

  • C#怎么获取文件夹里所有的图片文件?

    在实际的程序开发中,我们经常需要获取某个文件夹下的所有图片,用到了C#的DirectoryInfo、GetFiles等文件操作方法,具体实现如下://自定义一个结构public struct sFileInfo{ public string FileName; public DateTime FileCreateTime;}protected void Page_Load(…

    2021/3/4 21:48:01
  • c#实现日期时间与unix时间戳互相转换

    为什么使用时间戳?关于Unix时间戳,大概是这个意思,从1970年0时0分0秒开始到现在的秒数.使用它来获得的是一个INT值,储存在数据库里只要使用INT格式就可以了,方便数据库进行排序,搜索,而且比datetime格式更节省数据库空间。 /// <summary> /// Uni…

    2021/3/4 21:40:22