导出 (0) 打印
全部展开
此文章由机器翻译。 将光标移到文章的句子上,以查看原文。 更多信息。
译文
原文

Directory 类

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

System.Object
  System.IO.Directory

命名空间:  System.IO
程序集:  mscorlib(在 mscorlib.dll 中)

[ComVisibleAttribute(true)]
public static class Directory

Directory 类型公开以下成员。

  名称说明
公共方法静态成员由 XNA Framework 提供支持CreateDirectory(String)在指定路径创建所有目录和子目录。
公共方法静态成员CreateDirectory(String, DirectorySecurity)创建指定路径中的所有目录,并应用指定的 Windows 安全性。
公共方法静态成员由 XNA Framework 提供支持Delete(String)从指定路径删除空目录。
公共方法静态成员由 XNA Framework 提供支持Delete(String, Boolean)删除指定的目录并(如果指示)删除该目录中的所有子目录和文件。
公共方法静态成员EnumerateDirectories(String)返回指定路径中的目录名称的可枚举集合。
公共方法静态成员EnumerateDirectories(String, String)返回指定路径中与搜索模式匹配的目录名称的可枚举集合。
公共方法静态成员EnumerateDirectories(String, String, SearchOption)返回指定路径中与搜索模式匹配的目录名称的可枚举集合,还可以搜索子目录。
公共方法静态成员EnumerateFiles(String)返回指定路径中的文件名的可枚举集合。
公共方法静态成员EnumerateFiles(String, String)返回指定路径中与搜索模式匹配的文件名称的可枚举集合。
公共方法静态成员EnumerateFiles(String, String, SearchOption)返回指定路径中与搜索模式匹配的文件名称的可枚举集合,还可以搜索子目录。
公共方法静态成员EnumerateFileSystemEntries(String)返回指定路径中的文件系统项的可枚举集合。
公共方法静态成员EnumerateFileSystemEntries(String, String)返回指定路径中与搜索模式匹配的文件系统项的可枚举集合。
公共方法静态成员EnumerateFileSystemEntries(String, String, SearchOption)返回指定路径中与搜索模式匹配的文件名称和目录名称的可枚举集合,还可以搜索子目录。
公共方法静态成员由 XNA Framework 提供支持Exists确定给定路径是否引用磁盘上的现有目录。
公共方法静态成员GetAccessControl(String)获取一个 DirectorySecurity 对象,该对象封装指定目录的访问控制列表 (ACL) 项。
公共方法静态成员GetAccessControl(String, AccessControlSections)获取一个 DirectorySecurity 对象,它封装指定目录的指定类型的访问控制列表 (ACL) 项。
公共方法静态成员由 XNA Framework 提供支持GetCreationTime获取目录的创建日期和时间。
公共方法静态成员GetCreationTimeUtc获取目录创建的日期和时间,其格式为协调通用时间 (UTC)。
公共方法静态成员由 XNA Framework 提供支持GetCurrentDirectory获取应用程序的当前工作目录。
公共方法静态成员由 XNA Framework 提供支持GetDirectories(String)获取指定目录中的子目录的名称(包括其路径)。
公共方法静态成员由 XNA Framework 提供支持GetDirectories(String, String)在当前目录获取与指定搜索模式匹配的子目录的名称(包括它们的路径)。
公共方法静态成员GetDirectories(String, String, SearchOption)获取与在当前目录中的指定搜索模式相匹配的子目录(包括其路径)的名称,并且可以搜索子目录。
公共方法静态成员由 XNA Framework 提供支持GetDirectoryRoot返回指定路径的卷信息、根信息或两者同时返回。
公共方法静态成员由 XNA Framework 提供支持GetFiles(String)返回指定目录中文件的名称(包括其路径)。
公共方法静态成员由 XNA Framework 提供支持GetFiles(String, String)返回指定目录中与指定的搜索模式匹配的文件的名称(包含它们的路径)。
公共方法静态成员GetFiles(String, String, SearchOption)返回指定目录中与指定的搜索模式匹配的文件的名称(包含它们的路径),并使用一个值以确定是否搜索子目录。
公共方法静态成员由 XNA Framework 提供支持GetFileSystemEntries(String)返回指定目录中所有文件和子目录的名称。
公共方法静态成员由 XNA Framework 提供支持GetFileSystemEntries(String, String)返回与指定搜索条件匹配的文件系统项的数组。
公共方法静态成员GetFileSystemEntries(String, String, SearchOption)获取指定路径中与搜索模式匹配的所有文件名称和目录名称的数组,还可以搜索子目录。
公共方法静态成员由 XNA Framework 提供支持GetLastAccessTime返回上次访问指定文件或目录的日期和时间。
公共方法静态成员GetLastAccessTimeUtc返回上次访问指定文件或目录的日期和时间,其格式为协调通用时间 (UTC)。
公共方法静态成员由 XNA Framework 提供支持GetLastWriteTime返回上次写入指定文件或目录的日期和时间。
公共方法静态成员GetLastWriteTimeUtc返回上次写入指定文件或目录的日期和时间,其格式为协调通用时间 (UTC)。
公共方法静态成员GetLogicalDrives检索此计算机上格式为"<驱动器号>:\"的逻辑驱动器的名称。
公共方法静态成员GetParent检索指定路径的父目录,包括绝对路径和相对路径。
公共方法静态成员由 XNA Framework 提供支持Move将文件或目录及其内容移到新位置。
公共方法静态成员SetAccessControlDirectorySecurity 对象描述的访问控制列表 (ACL) 项应用于指定的目录。
公共方法静态成员SetCreationTime为指定的文件或目录设置创建日期和时间。
公共方法静态成员SetCreationTimeUtc设置指定文件或目录的创建日期和时间,其格式为协调通用时间 (UTC)。
公共方法静态成员由 XNA Framework 提供支持SetCurrentDirectory将应用程序的当前工作目录设置为指定的目录。
公共方法静态成员SetLastAccessTime设置上次访问指定文件或目录的日期和时间。
公共方法静态成员SetLastAccessTimeUtc设置上次访问指定文件或目录的日期和时间,其格式为协调通用时间 (UTC)。
公共方法静态成员SetLastWriteTime设置上次写入目录的日期和时间。
公共方法静态成员SetLastWriteTimeUtc设置上次写入某个目录的日期和时间,其格式为协调通用时间 (UTC)。
页首

Use the Directory class for typical operations such as copying, moving, renaming, creating, and deleting directories. You can also use the Directory class to get and set DateTime information related to the creation, access, and writing of a directory.

Because all Directory methods are static, it might be more efficient to use a Directory method rather than a corresponding DirectoryInfo instance method if you want to perform only one action. Most Directory methods require the path to the directory that you are manipulating.

The static methods of the Directory class perform security checks on all methods. If you are going to reuse an object several times, consider using the corresponding instance method of DirectoryInfo instead, because the security check will not always be necessary.

说明说明

In members that accept a path as an input string, that path must be well-formed or an exception is raised; however, if a path is fully qualified but begins with a space, the space is not omitted but no exception is raised. Similarly, a path or a combination of paths cannot be fully qualified twice. For example, "c:\temp c:\windows" also raises an exception in most cases. Ensure that your paths are well-formed when using methods that accept a path string.

In members that accept a path, the path can refer to a file or just a directory. The specified path can also refer to a relative path or a Universal Naming Convention (UNC) path for a server and share name. For example, all the following are acceptable paths:

  • "c:\\MyDir" in C#, or "c:\MyDir" in Visual Basic.

  • "MyDir\\MySubdir" in C#, or "MyDir\MySubDir" in Visual Basic.

  • "\\\\MyServer\\MyShare" in C#, or "\\MyServer\MyShare" in Visual Basic.

By default, full read/write access to new directories is granted to all users. Demanding permission for a directory where the path string ends with the directory separator character results in demanding permissions for all the contained subdirectories (for example, "C:\Temp\"). If permissions are required only for a specific directory, the string should end with a period (for example, "C:\Temp\.").

For a list of common I/O tasks, see 通用 I/O 任务.

The following example shows how to retrieve all the text files from a directory and move them to a new directory. After the files are moved, they no longer exist in the original directory.


using System;
using System.IO;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            string sourceDirectory = @"C:\current";
            string archiveDirectory = @"C:\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));
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
    }
}


The following example demonstrates how to use the EnumerateFiles method to retrieve a collection of text files from a directory, and then use that collection in a query to find all the lines that contain "Example".


using System;
using System.IO;
using System.Linq;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            string archiveDirectory = @"C:\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)
            {
                Console.WriteLine("{0} contains {1}", f.File, f.Line);
            }
            Console.WriteLine("{0} lines found.", files.Count().ToString());
        }
    }
}


The following example demonstrates how to move a directory and all its files to a new directory. The original directory no longer exists after it has been moved.


using System;
using System.IO;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            string sourceDirectory = @"C:\source";
            string destinationDirectory = @"C:\destination";

            try
            {
                Directory.Move(sourceDirectory, destinationDirectory);  
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
    }
}


.NET Framework

受以下版本支持:4.5、4、3.5、3.0、2.0、1.1、1.0

.NET Framework Client Profile

受以下版本支持:4、3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008(不支持服务器核心角色), Windows Server 2008 R2(支持带 SP1 或更高版本的服务器核心角色;不支持 Itanium)

并不是.NET Framework 对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求.

此类型的任何公共static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

社区附加资源

添加
显示:
© 2014 Microsoft