C# 目录与目录信息
它们是等价的还是相互替代的?其中是否有不推荐的,如果是,是哪一个?建议在ASP.NET web应用程序中使用哪一个?我的目标是递归地从特定目录提取所有文件。DirectoryInfo(基本上)是目录类,但在非静态上下文中使用。如果您要对文件系统进行多次调用,特别是当文件系统位于同一文件夹或该文件夹的子目录中时,MSDN建议使用DirectoryInfo。是一个静态类,它提供了处理目录的静态方法。类的实例,该类提供有关特定目录的信息。例如,如果您需要有关C:\Temp的信息:C# 目录与目录信息,c#,asp.net,directory,directoryinfo,C#,Asp.net,Directory,Directoryinfo,它们是等价的还是相互替代的?其中是否有不推荐的,如果是,是哪一个?建议在ASP.NET web应用程序中使用哪一个?我的目标是递归地从特定目录提取所有文件。DirectoryInfo(基本上)是目录类,但在非静态上下文中使用。如果您要对文件系统进行多次调用,特别是当文件系统位于同一文件夹或该文件夹的子目录中时,MSDN建议使用DirectoryInfo。是一个静态类,它提供了处理目录的静态方法。类的实例,该类提供有关特定目录的信息。例如,如果您需要有关C:\Temp的信息: var dirInf
var dirInfo = new DirectoryInfo("C:\\Temp");
if (dirInfo.Exists) {
FileInfo[] files = dirInfo.GetFiles("*.*", SearchOption.AllDirectories);
...
}
如果您只想将名称作为字符串,那么使用Directory的静态方法来避免创建DirectoryInfo实例可能会更快、更容易
if (Directory.Exists("C:\\Temp")) {
string[] files = Directory.GetFiles("C:\\Temp", "*.*", SearchOption.AllDirectories);
...
}
简言之,你用哪一个并不重要,只要它能满足你的需求。两者都不推荐使用。DirectoryInfo具有可能满足您的要求的功能
类是静态的
类,该类可用于创建,
移动、枚举目录和子目录
目录。这个
课程也为同样的目的服务
目的类似于目录
类
其成员是实例成员,如下所示:
与目录
类相对。主要
两者的区别在于
当我们可以使用这些类时。
目录
类可以在
希望在以下位置执行简单的文件夹操作:
一旦例如,您需要删除
打开文件夹,走开。但是,
DirectoryInfo
类已关联
提供一个文件夹,并为您提供所有
可以在上完成的操作
文件夹。DirectoryInfo
类
在以下情况下接受路径作为参数:
实例化并为您提供
文件夹上的所有内容。你可以
创建子目录、移动、枚举
等等
另外一个重要注意事项是,如果您必须在目录DirectoryInfo上执行多个操作,它将具有性能优势,因为它不需要在每个操作上检查安全权限。目录
从代码访问安全的角度来看,如果您在部分信任中运行,这可能是正确的,但这不适用于ACL安全检查,据我所知,ACL安全检查仍在对每个操作执行。除上述内容外,我还要补充:“如果要多次重用对象,请考虑使用DirectyInt实例方法代替目录类的相应静态方法,因为安全检查并不总是必要的。”根据MSDN文档。