📜  程序集-文件管理(1)

📅  最后修改于: 2023-12-03 15:11:27.515000             🧑  作者: Mango

程序集和文件管理

程序集是一种逻辑组织代码的单元,是将一个或多个模块(源文件)组合在一起的容器。在 .NET Framework 中,程序集包括可执行的应用程序(EXE)和动态链接库(DLL)。

程序集类型

在 .NET Framework 中,有两种类型的程序集:私有程序集和共享程序集。

私有程序集是应用程序的一部分,只用于当前应用程序。这些程序集位于应用程序的主目录或子目录中,并使用一个独立的文件。

共享程序集是可供多个应用程序使用的组件。这些程序集位于全局程序集缓存(GAC)目录中,并使用版本号标识。共享程序集必须被强名称(Strong Name)。

强名称

强名称是一个数位签名,用于标识程序集及其行版本。强名称确保程序集的唯一性,同时还提高了程序集的安全性,防止其中代码被非法篡改。

要将一个程序集强名称化,需要使用 .NET Framework SDK 中的工具 sn.exe(Strong Name Tool)。使用 sn.exe,可以生成公钥和私钥对,并将公钥嵌入程序集中。

文件管理

在 .NET Framework 中,可以使用 System.IO 命名空间下的类进行文件和目录的操作。

文件的读取、写入和创建

使用 System.IO 命名空间下的 FileStream 类可以进行文件的读取和写入操作。使用 File 类可以进行文件的创建。

// 读取文件
using System.IO;

FileStream fsRead = new FileStream("file.txt", FileMode.Open);
StreamReader sr = new StreamReader(fsRead);
string str = sr.ReadToEnd();
sr.Close();
fsRead.Close();

// 写入文件
using System.IO;

FileStream fsWrite = new FileStream("file.txt", FileMode.Create);
StreamWriter sw = new StreamWriter(fsWrite);
sw.Write("Hello, World!");
sw.Close();
fsWrite.Close();
目录的创建和删除

使用 Directory 类可以进行目录的创建和删除。

// 创建目录
using System.IO;

Directory.CreateDirectory("dir");

// 删除目录
using System.IO;

Directory.Delete("dir");
文件和目录的遍历

使用 DirectoryInfo 类和 FileSystemInfo 类可以对文件和目录进行遍历操作。

// 遍历目录
using System.IO;

DirectoryInfo dirInfo = new DirectoryInfo(".");
foreach (FileSystemInfo fileSysInfo in dirInfo.GetFileSystemInfos())
{
    if ((fileSysInfo.Attributes & FileAttributes.Directory) == FileAttributes.Directory)
    {
        Console.WriteLine("Directory: " + fileSysInfo.FullName);
    }
    else
    {
        Console.WriteLine("File: " + fileSysInfo.FullName);
    }
}
总结

程序集是将模块组合在一起的容器,分为私有程序集和共享程序集;强名称是一个数位签名,用于标识程序集及其行版本。文件管理可以使用 .NET Framework 的 System.IO 命名空间下的类进行操作,包括文件的读取、写入和创建,以及目录的创建、删除和遍历。