Unity中用递归删除空文件夹和文件夹下面的子文件,meta文件保留和IO的一些操作总结

/*----------------------------------------------------------------

 Created by 王银
 文件名: FilesTools
 创建时间: 2022/7/4
 文件功能描述: Unity中用递归删除空文件夹和文件夹下面的子文件,meta文件保留
 Copyright © 2022年 王银 All rights reserved.
----------------------------------------------------------------*/

using System.IO;
using UnityEditor;
using UnityEngine;

namespace FilesTools
{
    public class FilesTools
    {
        [MenuItem("GameTools/DeleteChildAndFolder &F1", false, 100)]
        private static void DeleteChildAndFolder()
        {
            string childItemPath = "Assets/Test/";
            DeleteFilesAndFolders(childItemPath);
            Debug.Log("删除完毕");
        }
        private static void DeleteFilesAndFolders(string path)
        {
            // Delete files.
            string[] files = Directory.GetFiles(path);
            foreach (var file in files)
            {
                if (!file.Contains(".meta"))
                    File.Delete(file);
            }
            
            // Delete folders.
            string[] folders = Directory.GetDirectories(path);
            foreach (var folder in folders)
            {
                Debug.Log($"路径:{folder}    路径下文件数:{Directory.GetFiles(folder, "*.meta").Length}");
                //判断是不是空的文件夹
                if (Directory.GetFiles(folder, "*.meta").Length <= 0)
                {
                    Directory.Delete(folder);
                }
                else
                {
                    DeleteFilesAndFolders(folder);
                }
            }
        }
    }
}

目录

System.IO相关复习、总结

结构

枚举

委托

Directory 类

注解

方法

 DirectoryInfo 类

注解

 备注

构造函数

字段

属性

 方法

 扩展方法


System.IO相关复习、总结

包含允许读写文件和数据流的类型以及提供基本文件和目录支持的类型

BinaryReader用特定的编码将基元数据类型读作二进制值。
BinaryWriter将二进制中的基元类型写入流并支持用特定的编码写入字符串。
BufferedStream将缓冲层添加到另一个流上的读取和写入操作。 此类不能被继承。
Directory公开用于通过目录和子目录进行创建、移动和枚举的静态方法。 此类不能被继承。
DirectoryInfo公开用于创建、移动和枚举目录和子目录的实例方法。 此类不能被继承。
DirectoryNotFoundException找不到文件或目录的部件时引发的异常。
DriveInfo提供对有关驱动器的信息的访问。
DriveNotFoundException当尝试访问的驱动器或共享不可用时引发的异常。
EndOfStreamException尝试在流末尾之后读取时引发的异常。
EnumerationOptions提供文件和目录枚举选项。
ErrorEventArgs为 Error 事件提供数据。
File提供用于创建、复制、删除、移动和打开单一文件的静态方法,并协助创建 FileStream 对象。
FileInfo提供用于创建、复制、删除、移动和打开文件的属性和实例方法,并且帮助创建 FileStream 对象。 此类不能被继承。
FileLoadException找到托管程序集但不能加载时引发的异常。
FileNotFoundException尝试访问磁盘上不存在的文件失败时引发的异常。
FileStream为文件提供 Stream,既支持同步读写操作,也支持异步读写操作。
FileStreamOptions定义各种配置选项 FileStream。
FileSystemAclExtensions提供特定于 Windows 的静态扩展方法用来操作文件和目录的访问控制列表 (ACL) 安全属性。
FileSystemEventArgs为目录事件提供数据:Changed、Created、Deleted。
FileSystemInfo为 FileInfo 和 DirectoryInfo 对象提供基类。
FileSystemWatcher侦听文件系统更改通知,并在目录或目录中的文件发生更改时引发事件。
InternalBufferOverflowException内部缓冲区溢出时引发的异常。
InvalidDataException数据流格式无效时引发的异常。
IOException发生 I/O 错误时引发的异常。
MemoryStream创建一个流,其后备存储为内存。
Path对包含文件或目录路径信息的 String 实例执行操作。 这些操作是以跨平台的方式执行的。
PathTooLongException当路径名或完全限定的文件名长度超过系统定义的最大长度时引发的异常。
RandomAccess提供基于偏移的 API,用于以线程安全的方式读取和写入文件。
RenamedEventArgs为 Renamed 事件提供数据。
Stream提供字节序列的一般视图。 这是一个抽象类。
StreamReader实现一个 TextReader,使其以一种特定的编码从字节流中读取字符。
StreamWriter实现一个 TextWriter,使其以一种特定的编码向流中写入字符。
StringReader实现从字符串进行读取的 TextReader。
StringWriter实现用于将信息写入字符串的 TextWriter。 信息存储在基础 StringBuilder 中。
TextReader表示可读取有序字符系列的读取器。
TextWriter表示可以编写一个有序字符系列的编写器。 此类为抽象类。
UnmanagedMemoryAccessor提供从托管代码随机访问非托管内存块的能力。
UnmanagedMemoryStream提供从托管代码访问非托管内存块的能力。

结构

WaitForChangedResult包含发生的更改信息。

枚举

DriveType定义驱动器类型常数,包括 CDRom、Fixed、Network、NoRootDirectory、Ram、Removable 和 Unknown。
FileAccess定义文件的读取、写入或读/写访问权限的常量。
FileAttributes提供文件和目录的属性。
FileMode指定操作系统打开文件的方式。
FileOptions表示用于创建 FileStream 对象的高级选项。
FileShare包含用于控制其他 FileStream 对象对同一文件可以具有的访问类型的常数。
HandleInheritability指定基础句柄是否由子进程继承。
MatchCasing指定要匹配的字符大小写转换的类型。
MatchType指定要使用的通配符匹配的类型。
NotifyFilters指定要在文件或文件夹中监视的更改。
SearchOption指定是搜索当前目录,还是搜索当前目录及其所有子目录。
SeekOrigin指定流中的位置以供查找使用。
WatcherChangeTypes可能会发生的文件或目录的更改。

委托

ErrorEventHandler表示将处理 FileSystemWatcher 对象的 Error 事件的方法。
FileSystemEventHandler表示将处理 FileSystemWatcher 类的 Changed、Created 或 Deleted 事件的方法。
RenamedEventHandler表示将处理 Renamed 类的 FileSystemWatcher 事件的方法。

Directory 类

公开用于通过目录和子目录进行创建、移动和枚举的静态方法。 此类不能被继承。

public static class Directory

该例演示如何从目录中检索所有文本文件,并将其移动到新目录。 移动文件后,它们不再存在于原始目录中。

[MenuItem("GameTools/MoveOperate &F2", false, 101)]
private static void MoveOperate()
{
    //将E盘Current文件夹下所有的TXT文件移动到Archive文件夹
    string sourceDirectory = @"E:\Current";
    string archiveDirectory = @"E:\Archive";
    try
    {
        var txtFiles = Directory.EnumerateFiles(sourceDirectory, "*.txt");

        foreach (string currentFile in txtFiles)
        {
            string fileName = currentFile.Substring(sourceDirectory.Length + 1);
            Directory.Move(currentFile, Path.Combine(archiveDirectory, fileName));
        }
        Debug.Log("move finish");
    }
    catch (Exception e)
    {
        Debug.Log(e.Message);
    }
}

 该例演示如何使用EnumerateFiles,该方法从目录中检索文本文件的集合,然后在查询中使用该集合查找包含“Example”的所有行。

[MenuItem("GameTools/FindOperate &F3", false, 102)]
private static void FindOperate()
{
    //该例演示如何使用EnumerateFiles,该方法从目录中检索文本文件的集合,然后在查询中使用该集合查找包含“Example”的所有行。
    string archiveDirectory = @"E:\Archive";
    var files = from retrievedFile in Directory.EnumerateFiles(archiveDirectory, "*.txt", SearchOption.AllDirectories
        from line in File.ReadLines(retrievedFile)
        where line.Contains("Example")
        select new
        {
            File = retrievedFile,
            Line = line
        };

    foreach (var f in files)
    {
        Debug.LogFormat($"{f.File} 包含 {f.Line}");
    }
    Debug.LogFormat($"找到 {files.Count().ToString()} 行。。。");
}

该例演示如何将目录及其所有文件移动到新目录。 移动原始目录后不再存在。

[MenuItem("GameTools/MoveAllOperate &F4", false, 103)]
private static void MoveAllOperate()
{
    //该例演示如何将目录及其所有文件移动到新目录。 移动原始目录后不再存在。
    string sourceDirectory = @"E:\Source";
    string destinationDirectory = @"E:\Destination";
    try
    {
        Directory.Move(sourceDirectory, destinationDirectory);
    }
    catch (Exception e)
    {
        Debug.Log(e.Message);
    }
}

注解

  • 将 Directory 类用于典型的操作,例如复制、移动、重命名、创建和删除目录。
  • 若要创建目录,请使用其中 CreateDirectory 一种方法。
  • 若要删除目录,请使用其中 Delete 一种方法。
  • 若要获取或设置应用的当前目录,请使用 GetCurrentDirectory 或 SetCurrentDirectory 方法。
  • 若要操作DateTime与创建、访问和写入目录相关的信息,请使用如下SetLastAccessTimeSetCreationTime方法:
  • 类的 Directory 静态方法对所有方法执行安全检查。 如果要多次重复使用对象,请考虑改用相应的实例方法 DirectoryInfo ,因为安全检查并不总是必要的。
  • 如果只执行一个与目录相关的操作,则使用静态 Directory 方法而不是相应的 DirectoryInfo 实例方法可能更高效。 大多数 Directory 方法都需要你正在操作的目录的路径。

方法

CreateDirectory(String)在指定路径中创建所有目录和子目录,除非它们已经存在。
CreateSymbolicLink(String, String)创建由 path 该指向 pathToTarget的目录符号链接。
Delete(String)从指定路径删除空目录。
Delete(String, Boolean)删除指定的目录,并删除该目录中的所有子目录和文件(如果表示)。
EnumerateDirectories(String)返回指定路径中的目录完整名称的可枚举集合。
EnumerateDirectories(String, String)返回指定路径中与搜索模式匹配的目录完整名称的可枚举集合。
EnumerateDirectories(String, String, EnumerationOptions)返回指定路径中与搜索模式匹配的目录完整名称的可枚举集合,还可搜索子目录。
EnumerateDirectories(String, String, SearchOption)返回指定路径中与搜索模式匹配的目录完整名称的可枚举集合,还可搜索子目录。
EnumerateFiles(String)返回指定路径中的完整文件名的可枚举集合。
EnumerateFiles(String, String)返回指定路径中与搜索模式匹配的完整文件名的可枚举集合。
EnumerateFiles(String, String, EnumerationOptions)返回指定路径中与搜索模式和枚举选项匹配的完整文件名的可枚举集合,还可以搜索子目录。
EnumerateFiles(String, String, SearchOption)返回指定路径中与搜索模式匹配的完整文件名的可枚举集合,还可以搜索子目录。
EnumerateFileSystemEntries(String)返回指定路径中的文件名和目录名的可枚举集合。
EnumerateFileSystemEntries(String, String)返回指定路径中与搜索模式匹配的文件名和目录名的可枚举集合。
EnumerateFileSystemEntries(String, String, EnumerationOptions)返回指定路径中与搜索模式和枚举选项匹配的文件名和目录名的可枚举集合。
EnumerateFileSystemEntries(String, String, SearchOption)返回指定路径中与搜索模式匹配的文件名称和目录名的可枚举集合,还可以搜索子目录。
Exists(String)确定给定路径是否引用磁盘上的现有目录。
GetCreationTime(String)获取目录的创建日期和时间。
GetCreationTimeUtc(String)获取目录创建的日期和时间,其格式为协调通用时 (UTC)。
GetCurrentDirectory()获取应用程序的当前工作目录。
GetDirectories(String)返回指定目录中的子目录的名称(包括其路径)。
GetDirectories(String, String)返回指定目录中与指定的搜索模式匹配的子目录的名称(包括其路径)。
GetDirectories(String, String, EnumerationOptions)返回指定目录中与指定的搜索模式和枚举选项匹配的子目录的名称(包括其路径)。
GetDirectories(String, String, SearchOption)返回与在指定目录中的指定搜索模式匹配的子目录的名称(包括其路径),还可以选择地搜索子目录。
GetDirectoryRoot(String)返回指定路径的卷信息、根信息或两者同时返回。
GetFiles(String)返回指定目录中文件的名称(包括其路径)。
GetFiles(String, String)返回指定目录中与指定的搜索模式匹配的文件的名称(包含其路径)。
GetFiles(String, String, EnumerationOptions)返回指定目录中与指定的搜索模式和枚举选项匹配的文件的名称(包括其路径)。
GetFiles(String, String, SearchOption)返回指定目录中与指定的搜索模式匹配的文件的名称(包含其路径),使用某个值确定是否要搜索子目录。
GetFileSystemEntries(String)返回指定路径中的所有文件和子目录的名称。
GetFileSystemEntries(String, String)返回一个数组,其中包含与指定路径中的搜索模式相匹配的文件名和目录名称。
GetFileSystemEntries(String, String, EnumerationOptions)返回指定路径中与搜索模式和枚举选项匹配的文件名和目录名的数组。
GetFileSystemEntries(String, String, SearchOption)返回指定路径中与搜索模式匹配的所有文件名和目录名的数组,还可以搜索子目录。
GetLastAccessTime(String)返回上次访问指定文件或目录的日期和时间。
GetLastAccessTimeUtc(String)返回上次访问指定文件或目录的日期和时间,其格式为协调通用时 (UTC)。
GetLastWriteTime(String)返回上次写入指定文件或目录的日期和时间。
GetLastWriteTimeUtc(String)返回上次写入指定文件或目录的日期和时间,其格式为协调通用时 (UTC)。
GetLogicalDrives()检索此计算机上格式为“<drive letter>:\”的逻辑驱动器的名称。
GetParent(String)检索指定路径的父目录,包括绝对路径和相对路径。
Move(String, String)将文件或目录及其内容移到新位置。
ResolveLinkTarget(String, Boolean)获取指定目录链接的目标。
SetCreationTime(String, DateTime)为指定的文件或目录设置创建日期和时间。
SetCreationTimeUtc(String, DateTime)设置指定文件或目录的创建日期和时间,其格式为协调通用时 (UTC)。
SetCurrentDirectory(String)将应用程序的当前工作目录设置为指定的目录。
SetLastAccessTime(String, DateTime)设置上次访问指定文件或目录的日期和时间。
SetLastAccessTimeUtc(String, DateTime)设置上次访问指定文件或目录的日期和时间,其格式为协调通用时 (UTC)。
SetLastWriteTime(String, DateTime)设置上次写入目录的日期和时间。
SetLastWriteTimeUtc(String, DateTime)设置上次写入某个目录的日期和时间,其格式为协调通用时 (UTC)。

 DirectoryInfo 类

 公开用于创建、移动和枚举目录和子目录的实例方法。 此类不能被继承。

public sealed class DirectoryInfo : System.IO.FileSystemInfo

以下示例演示了 DirectoryInfo 类的一些主要成员。

[MenuItem("GameTools/DirectoryInfoOperate &F5", false, 104)]
private static void DirectoryInfoOperate()
{
    DirectoryInfo di = new DirectoryInfo(@"E:\MyDir");
    try
    {
        if (di.Exists)
        {
            Debug.Log("That path exists already.");
            return;
        }
        di.Create();
        Debug.Log("The directory was created successfully.");
        di.Delete();
        Debug.Log("The directory was deleted successfully.");
    }
    catch (Exception e)
    {
        Debug.LogErrorFormat($"The process failed: {e}");
    }
}

以下示例演示如何复制目录及其内容。

[MenuItem("GameTools/DirectoryInfoCopyAllOperate &F6", false, 105)]
private static void DirectoryInfoCopyAllOperate()
{
    string sourceDirectory = @"E:\Current\SourceDirectory";
    string targetDirectory = @"E:\Current\TargetDirectory";

    DirectoryInfo diSource = new DirectoryInfo(sourceDirectory);
    DirectoryInfo diTarget = new DirectoryInfo(targetDirectory);

    CopyAll(diSource, diTarget);
}

public static void CopyAll(DirectoryInfo source, DirectoryInfo target)
{
    if (source.FullName.ToLower() == target.FullName.ToLower())
    {
        return;
    }
    if (Directory.Exists(target.FullName) == false)
    {
        Directory.CreateDirectory(target.FullName);
    }
    foreach (FileInfo fi in source.GetFiles())
    {
        Debug.Log($"Copying {target.FullName}  ---> {fi.Name}");
        fi.CopyTo(Path.Combine(target.ToString(), fi.Name), true);
    }
    foreach (DirectoryInfo diSourceSubDir in source.GetDirectories())
    {
        DirectoryInfo nextTargetSubDir =
            target.CreateSubdirectory(diSourceSubDir.Name);
        CopyAll(diSourceSubDir, nextTargetSubDir);
    }
}

注解


将 DirectoryInfo 类用于典型的操作,例如复制、移动、重命名、创建和删除目录。

如果要多次重用对象,请考虑使用实例方法,而不是Directory类的相应静态方法  ,因为安全检查并不总是必要的。

 备注

在接受路径作为输入字符串的成员中,该路径的格式必须良好或引发异常。 例如,如果路径完全限定,但以空格开头,则路径不会在类的方法中修整。 因此,路径格式不正确,并引发异常。 同样,路径或路径的组合不能完全限定两次。 例如,在大多数情况下,“c:\temp c:\windows”也会引发异常。 使用接受路径字符串的方法时,请确保路径格式良好。

在接受路径的成员中,路径可以引用文件或仅引用目录。 指定的路径还可以引用服务器和共享名称的相对路径或通用命名约定 (UNC) 路径。 

构造函数

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

字段

FullPath表示目录或文件的完全限定目录。
(继承自 FileSystemInfo)
OriginalPath最初由用户指定的目录(不论是相对目录还是绝对目录)。
(继承自 FileSystemInfo)

属性

FullPath表示目录或文件的完全限定目录。
(继承自 FileSystemInfo)
OriginalPath最初由用户指定的目录(不论是相对目录还是绝对目录)。
(继承自 FileSystemInfo)
Attributes获取或设置当前文件或目录的特性。
(继承自 FileSystemInfo)
CreationTime获取或设置当前文件或目录的创建时间。
(继承自 FileSystemInfo)
CreationTimeUtc获取或设置当前文件或目录的创建时间,其格式为协调世界时 (UTC)。
(继承自 FileSystemInfo)
Exists获取指示目录是否存在的值。
Extension获取文件名的扩展名部分,包括前导点  即使它是整个文件名,或者不存在扩展名的空字符串。
(继承自 FileSystemInfo)
FullName获取目录或文件的完整目录。
(继承自 FileSystemInfo)
LastAccessTime获取或设置上次访问当前文件或目录的时间。
(继承自 FileSystemInfo)
LastAccessTimeUtc获取或设置上次访问当前文件或目录的时间,其格式为协调世界时 (UTC)。
(继承自 FileSystemInfo)
LastWriteTime获取或设置上次写入当前文件或目录的时间。
(继承自 FileSystemInfo)
LastWriteTimeUtc获取或设置上次写入当前文件或目录的时间,其格式为协调世界时 (UTC)。
(继承自 FileSystemInfo)
LinkTarget获取位于其中 FullName的链接的目标路径,或者 null 如果此 FileSystemInfo 实例不表示链接。
(继承自 FileSystemInfo)
Name获取此 DirectoryInfo 实例的名称。
Parent获取指定的子目录的父目录。
Root获取目录的根部分。

 方法

FullPath表示目录或文件的完全限定目录。
(继承自 FileSystemInfo)
OriginalPath最初由用户指定的目录(不论是相对目录还是绝对目录)。
(继承自 FileSystemInfo)
Attributes获取或设置当前文件或目录的特性。
(继承自 FileSystemInfo)
CreationTime获取或设置当前文件或目录的创建时间。
(继承自 FileSystemInfo)
CreationTimeUtc获取或设置当前文件或目录的创建时间,其格式为协调世界时 (UTC)。
(继承自 FileSystemInfo)
Exists获取指示目录是否存在的值。
Extension获取文件名的扩展名部分,包括前导点  即使它是整个文件名,或者不存在扩展名的空字符串。
(继承自 FileSystemInfo)
FullName获取目录或文件的完整目录。
(继承自 FileSystemInfo)
LastAccessTime获取或设置上次访问当前文件或目录的时间。
(继承自 FileSystemInfo)
LastAccessTimeUtc获取或设置上次访问当前文件或目录的时间,其格式为协调世界时 (UTC)。
(继承自 FileSystemInfo)
LastWriteTime获取或设置上次写入当前文件或目录的时间。
(继承自 FileSystemInfo)
LastWriteTimeUtc获取或设置上次写入当前文件或目录的时间,其格式为协调世界时 (UTC)。
(继承自 FileSystemInfo)
LinkTarget获取位于其中 FullName的链接的目标路径,或者 null 如果此 FileSystemInfo 实例不表示链接。
(继承自 FileSystemInfo)
Name获取此 DirectoryInfo 实例的名称。
Parent获取指定的子目录的父目录。
Root获取目录的根部分。
Create()创建目录。
CreateAsSymbolicLink(String)创建一个符号链接,该 FullName 链接指向指定的 pathToTarget。
(继承自 FileSystemInfo)
CreateObjRef(Type)创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。
(继承自 MarshalByRefObject)
CreateSubdirectory(String)在指定路径上创建一个或多个子目录。 指定路径可以是相对于 DirectoryInfo 类的此实例的路径。
Delete()如果此 DirectoryInfo 为空则将其删除。
Delete(Boolean)删除 DirectoryInfo 的此实例,指定是否删除子目录和文件。
EnumerateDirectories()返回当前目录中的目录信息的可枚举集合。
EnumerateDirectories(String)返回与指定的搜索模式匹配的目录信息的可枚举集合。
EnumerateDirectories(String, EnumerationOptions)返回与指定的搜索模式和枚举选项匹配的目录信息的可枚举集合。
EnumerateDirectories(String, SearchOption)返回与指定的搜索模式和搜索子目录选项匹配的目录信息的可枚举集合。
EnumerateFiles()返回当前目录中的文件信息的可枚举集合。
EnumerateFiles(String)返回与搜索模式匹配的文件信息的可枚举集合。
EnumerateFiles(String, EnumerationOptions)返回与指定的搜索模式和枚举选项匹配的文件信息的可枚举集合。
EnumerateFiles(String, SearchOption)返回与指定的搜索模式和搜索子目录选项匹配的文件信息的可枚举集合。
EnumerateFileSystemInfos()返回当前目录中的文件系统信息的可枚举集合。
EnumerateFileSystemInfos(String)返回与指定的搜索模式匹配的文件系统信息的可枚举集合。
EnumerateFileSystemInfos(String, EnumerationOptions)返回与指定的搜索模式和枚举选项匹配的文件系统信息的可枚举集合。
EnumerateFileSystemInfos(String, SearchOption)返回与指定的搜索模式和搜索子目录选项匹配的文件系统信息的可枚举集合。
Equals(Object)确定指定对象是否等于当前对象。
(继承自 Object)
GetDirectories()返回当前目录的子目录。
GetDirectories(String)返回当前 DirectoryInfo 中、与给定搜索条件匹配的目录的数组。
GetDirectories(String, EnumerationOptions)返回当前 DirectoryInfo 中与指定的搜索模式和枚举选项匹配的目录的数组。
GetDirectories(String, SearchOption)返回当前 DirectoryInfo 中与给定的搜索条件匹配并使用某个值确定是否在子目录中搜索的目录的数组。
GetFiles()返回当前目录的文件列表。
GetFiles(String)返回当前目录中与给定的搜索模式匹配的文件列表。
GetFiles(String, EnumerationOptions)返回当前目录中与指定的搜索模式和枚举选项匹配的文件列表。
GetFiles(String, SearchOption)返回与给定的搜索模式匹配并且使用某个值确定是否在子目录中进行搜索的当前目录的文件列表。
GetFileSystemInfos()返回表示某个目录中所有文件和子目录的强类型 FileSystemInfo 项的数组。
GetFileSystemInfos(String)检索表示与指定的搜索条件匹配的文件和子目录的强类型 FileSystemInfo 对象的数组。
GetFileSystemInfos(String, EnumerationOptions)检索强类型 FileSystemInfo 对象的数组,这些对象表示与指定的搜索模式和枚举选项匹配的文件和子目录。
GetFileSystemInfos(String, SearchOption)检索表示与指定的搜索条件匹配的文件和子目录的 FileSystemInfo 对象的数组。
GetHashCode()作为默认哈希函数。
(继承自 Object)
GetLifetimeService()
已过时。
检索控制此实例的生存期策略的当前生存期服务对象。
(继承自 MarshalByRefObject)
GetObjectData(SerializationInfo, StreamingContext)设置带有文件名和附加异常信息的 SerializationInfo 对象。
(继承自 FileSystemInfo)
GetType()获取当前实例的 Type。
(继承自 Object)
InitializeLifetimeService()
已过时。
获取生存期服务对象来控制此实例的生存期策略。
(继承自 MarshalByRefObject)
MemberwiseClone()创建当前 Object 的浅表副本。
(继承自 Object)
MemberwiseClone(Boolean)创建当前 MarshalByRefObject 对象的浅表副本。
(继承自 MarshalByRefObject)
MoveTo(String)将 DirectoryInfo 实例及其内容移动到新路径。
Refresh()刷新对象的状态。
(继承自 FileSystemInfo)
ResolveLinkTarget(Boolean)获取指定链接的目标。
(继承自 FileSystemInfo)
ToString()返回传递给 DirectoryInfo 构造函数的原始路径。 使用 FullName 或 Name 属性作为完整路径或文件/目录名,而不是此方法。

 扩展方法

Create(DirectoryInfo, DirectorySecurity)创建一个新目录,确保使用指定的目录安全性创建该目录。 如果该目录已存在,则不执行任何操作。
GetAccessControl(DirectoryInfo)返回目录的安全信息。
GetAccessControl(DirectoryInfo, AccessControlSections)返回目录的安全信息。
SetAccessControl(DirectoryInfo, DirectorySecurity)更改现有目录的安全属性。
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王 银

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值