C# Windows 文件系统的操作

C# 文件的输入与输出C# 文件的输入与输出

C# 允许您使用各种目录和文件相关的类来操作目录和文件,比如 DirectoryInfo 类和 FileInfo 类。

 

1. DirectoryInfo 类

DirectoryInfo 类派生自 FileSystemInfo 类。它提供了各种用于创建、移动、浏览目录和子目录的方法。该类不能被继承。

下表列出了 DirectoryInfo 类中一些常用的属性

序号属性 & 描述
1Attributes获取当前文件或目录的属性。
2CreationTime获取当前文件或目录的创建时间。
3Exists获取一个表示目录是否存在的布尔值。
4Extension获取表示文件存在的字符串。
5FullName获取目录或文件的完整路径。
6LastAccessTime获取当前文件或目录最后被访问的时间。
7Name获取该 DirectoryInfo 范例的名称。

下表列出了 DirectoryInfo 类中一些常用的方法

序号方法 & 描述
1public void Create()创建一个目录。
2public DirectoryInfo CreateSubdirectory( string path ) 在指定的路径上创建子目录。指定的路径可以是相对于 DirectoryInfo 类的范例的路径。
3public override void Delete()如果为空的,则删除该 DirectoryInfo。
4public DirectoryInfo[] GetDirectories()返回当前目录的子目录。
5public FileInfo[] GetFiles()从当前目录返回文件列表。

如需查看完整的属性和方法列表,请访问微软的 C# 文档。

 

2. FileInfo 类

FileInfo 类派生自 FileSystemInfo 类。它提供了用于创建、复制、删除、移动、打开文件的属性和方法,且有助于 FileStream 对象的创建。该类不能被继承。

下表列出了 FileInfo 类中一些常用的属性

序号属性 & 描述
1Attributes获取当前文件的属性。
2CreationTime获取当前文件的创建时间。
3Directory获取文件所属目录的一个范例。
4Exists获取一个表示文件是否存在的布尔值。
5Extension获取表示文件存在的字符串。
6FullName获取文件的完整路径。
7LastAccessTime获取当前文件最后被访问的时间。
8LastWriteTime获取文件最后被写入的时间。
9Length获取当前文件的大小,以字节为单位。
10Name获取文件的名称。

下表列出了 FileInfo 类中一些常用的方法

序号方法 & 描述
1public StreamWriter AppendText()创建一个 StreamWriter,追加文本到由 FileInfo 的范例表示的文件中。
2public FileStream Create()创建一个文件。
3public override void Delete()永久删除一个文件。
4public void MoveTo( string destFileName ) 移动一个指定的文件到一个新的位置,提供选项来指定新的文件名。
5public FileStream Open( FileMode mode ) 以指定的模式打开一个文件。
6public FileStream Open( FileMode mode, FileAccess access ) 以指定的模式,使用 read、write 或 read/write 访问,来打开一个文件。
7public FileStream Open( FileMode mode, FileAccess access, FileShare share ) 以指定的模式,使用 read、write 或 read/write 访问,以及指定的分享选项,来打开一个文件。
8public FileStream OpenRead()创建一个只读的 FileStream。
9public FileStream OpenWrite()创建一个只写的 FileStream。

如需查看完整的属性和方法列表,请访问微软的 C# 文档。

 

3. 范例

下面的范例演示了上面提到的类的用法:

using System;
using System.IO;

namespace WindowsFileApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            // 创建一个 DirectoryInfo 对象
            DirectoryInfo mydir = new DirectoryInfo(@"c:\Windows");

            // 获取目录中的文件以及它们的名称和大小
            FileInfo [] f = mydir.GetFiles();
            foreach (FileInfo file in f)
            {
                Console.WriteLine("File Name: {0} Size: {1}",
                    file.Name, file.Length);
            }
            Console.ReadKey();
        }
    }
}

当您编译和执行上面的程序时,它会显示文件的名称及它们在 Windows 目录中的大小。

C# 文件的输入与输出C# 文件的输入与输出

特性(Attribute)是用于在运行时传递程序中各种元素(比如类、方法、结构、枚举、组件等)的行为信息的声明性标签。您可以通过使用特性向程序添加声明性信息。一个声明性标签是通过放置在它所应用的元素前面的方括号([ ])来描述的。特性(Attribute)用于添加元数据,如编译器指令和注释、描述、方法、类等其他信息。