1. Environment类
Environment类是System命名空间的一部分,他包含的属性和方法可以获取当前程序所在系统的信息、当前登录到系统的用户信息和用于保存当前系统环境信息的环境变量除了关于这些环境变量信息之外,用Environment类还能提取命令参数、退出代码、调用堆栈的内容、自从上次系统启用以来的所有经历时间、运行的CLR的版本等等。
成员 |
功能 |
CurrentDirectory |
取得(何设置)当前目录全程和路径的属性 |
GetFolderPath |
取得Environments.SpecialFolder枚举中标识的特殊文件夹全称路径的方法 |
GetLogincalDirves |
返回包含当前系统中逻辑驱动器名称的字符串数组的方法 |
SystemDirectroy |
取得系统目录全程的属性 |
表一 与文件和目录相关的Environments类成员
常量 |
特殊文件夹描述 |
ApplicationData |
目录,用于当前漫游用户的应用程序特定数据的公共存储库 |
CommonApplicationData |
目录,用于所有用户使用的应用程序特定数据的公共存储库 |
CommonProgranFiles |
用于应用程序之间共享的组件的目录 |
Cookies |
用于Internet Cookiede公共存储库的目录 |
DesktopDirectory |
用于物理的存储桌面导航显示的文件对象的目录 |
Favorites |
用于用户收藏夹项的公共存储库的目录 |
History |
用于Internet历史纪录项的公共存储库德目录 |
InternetCache |
用于Internet临时文件的公共存储库的目录 |
LocalApplicationData |
目录,用于当前非漫游用户使用的应用程序特定数据的公共存储库 |
Personal |
用于文档的公共存储的目录(我的文档) |
ProgramFiles |
“Program Files”的目录 |
Programs |
包含用户程序组的目录 |
Recent |
包含用户最近使用过的文档的目录 |
SendTo |
包含“发送到”菜单的目录 |
StartMenu |
包含“开始”菜单的目录 |
Startup |
对用于用户的“启动”菜单项目的目录 |
System |
“System”目录 |
Templates |
用于文档模板的公共存储库德目录 |
表二 Envrionment.SpecialFolder枚举值
DEMO
private void btnMyDocs_Click(object sender, System.EventArgs e)
{
try
{
this.txtStartDir.Text=Environment.GetFolderPath(Environment.SpecialFolder.Personal);
}
catch(Exception Err)
{
MessageBox.Show(Err.Message);
}
}
2. Path类
Path类在System.IO命名空间中定义。
方法 |
功能 |
ChangeExtension |
更改路径字符串的扩展名 |
Combine |
将左边的路径名与右边的路径名或文件名合并在一起。这个操作就像字符串串联,但是不用担心左边部分是否是一反斜杠结尾、或者右边部分是否已反斜杠开头 |
GetDirectroyName |
返回指定路径字符串的目录信息 |
GetExtension |
返回指定的路径字符串的扩展名 |
GetFileName |
返回指定路径字符串的文件名和扩展名 |
GetFileName- WithoutExtension |
返回不具有扩展名的指定路径字符串的文件名 |
GetFullPath |
返回指定路径字符串的绝对路径 |
GetPathRoot |
获取指定路径的根目录信息 |
GetTempFileName |
返回唯一临时文件名,不再磁盘上通过该名称创建零字节文件 |
GetTempPath |
返回当前系统的临时文件夹的路径 |
HasExtension |
确定路径是否包括文件扩展名 |
IsPathRooted |
获取一个值,该值指示指定的路径字符串是包含绝对路径信息还是包含相对路径信息 |
表三 Path类的方法
3. Directory类和File类
方法 |
功能 |
CreateDirectory |
创建目录或子目录 |
Delete |
删除目录和及其内容 |
Exists |
返回布尔值,判断给定路径是否引用磁盘上的现有目录 |
GetCreationTime |
获得目录的创建时间和日期 |
GetCurrentDirectory |
获取应用程序的当前工作目录 |
GetDirectories |
获取指定目录中子目录的名称 |
GetDirectoryRoot |
返回指定路径的卷信息,更信息或两者同时返回 |
GetFiles |
返回指定目录中的文件的名称 |
GetFileSystemEntries |
返回指定目录中所有文件和子目录的名称 |
GetLastAccessTime |
返回最后一次访问指定文件或目录的日期和时间 |
GetLastWriteTime |
返回最后一次写入指定文件或目录的日期和时间 |
GetLogicalDrives |
检索当前计算机上格式为“<驱动器字母号>:\”的逻辑驱动器的名称 |
GetParent |
检索制等路径的父目录,包括绝对路径和相对路径 |
Move |
将文件会目录及其内容移到指定位置 |
SetCreationTime |
为指定的文件或目录设置创建实践和日期 |
SetCreationDirectory |
将应用程序的当前工作目录设置为指定的目录 |
方法 |
功能 |
SetLastAccessTime |
设置最后一次访问指定文件或目录的日期和时间 |
SetLastWriteTime |
设置作后一次写入目录的日期和时间 |
表四 Dierctory类的静态方法
成员 |
功能描述 |
Attributes |
属性,获取或设置当前FileSystemInfo的FileAttributes |
CreationTime |
属性,获取会设置当前的FileSystemInfo对象的创建时间 |
Create |
方法,创建目录 |
CreateSubdirectory |
方法。创建一个或多个子目录 |
Delete |
方法,从路径中删除DirectoryInfo实例是否应用也磁盘上实际存在的目录 |
Exists |
属性,返回布尔值指示DirectoryInfo实例是否对应于磁盘上实际存在的目录 |
Extension |
属性,获取表示文件扩展名部分呢的字符串 |
FullName |
属性,获取目录或文件的完整路径 |
GetDirectories |
方法,返回当前目录的子目录 |
GetFiles |
方法,返回保存了当前目录文件列表的FileInfo对象数组 |
GetFileSystemInfos |
方法,检索强类型FileSystemInfo对象的数组 |
LastAccessTime |
属性,获取或设置最后一次访问当前文件或目录的时间 |
LastWriteTime |
属性,获取或设置最后一次写入当前文件或目录的时间 |
MoveTo |
方法,将DirectoryInfo实例及其内容移动到新路径 |
Parent |
属性,获取指定子目录的父目录 |
Root |
属性,获取路径的根部分 |
表五 DirectoryInfo类的部分实例成员
方法 |
功能描述 |
AppendText |
创建一个StreamWriter,它将文本追加到现有文件中 |
Copy |
复制文件 |
Create |
在指定的全称路径中创建文件 |
CreateText |
创建或打开一个新文件用于写入文本 |
Delete |
删除有全称路径指定的文件 |
Exists |
确定指定的文件是否存在 |
GetAttributes |
获取全称路径上的FileAttributes |
GetCreationTime |
返回指定文件或目录的创建时间和日期 |
GetLastAccessTime |
返回最后一次访问指定文件或目录的日期和时间 |
GetLastWriteTime |
返回最后一次写入指定文件或目录的日期和时间 |
Move |
将指定路径上的文件移动到新的位置 |
Open |
打开指定路径导航的FileStream |
OpenRead |
打开现有文件以进行读取 |
OpenText |
打开现有文本文件以进行读取 |
OPenWrite |
打开现有文件以进行写入 |
SetAttributes |
设置指定路径上文件的指定FileAttributes |
SetCreationTime |
设置带文件创建的日期和时间 |
SetlastAccessTime |
设置作后一次反问指定文件的日期和时间 |
SetLastWriteTime |
设置最后一次写入指定文件的日期和时间 |
表六 File类的静态方法
成员 |
功能描述 |
AppendText |
方法,创建一个StreamWriter,用它向文件追加文本 |
Attributes |
属性,获取或设置表示文件属性的FileAttributes对象 |
CopyTo |
方法,将现有文件复制到新文件 |
Create |
方法,创建文件 |
CreateText |
方法,创建写入新文本文件的StreamWriter |
CreationTime |
属性,获取或设置当前对象的创建时间 |
Delete |
方法,永久删除文件 |
Directory |
属性,获取父目录的实例 |
DirectoryName |
属性,获取表示目录的完整路径的字符串 |
Exists |
属性,获取指示文件是否存在布尔值 |
Extension |
属性,获取表示文件扩展名部分的字符串 |
FullName |
属性,获取文件或目录的完整路径 |
LastAccessTime |
属性,获取或设置作后一次访问当前文件的时间 |
LastWriteTime |
属性,获取或设置作后一次写入当前文件或目录的时间 |
Length |
属性,获取当前文件或目录的大小 |
MoveTo |
方法,将指定文件移动新位置,并提供指定新文件名的选项 |
Open |
方法,用各种读/写访问权限和共享特权打开文件 |
OpenRead |
方法,创建只读的FileStream |
OpenText |
方法,创建从文本文件进行读取的StreamReader |
OpenWrite |
方法,创建只写FileStream |
表七 FileInfo类的部分实例成员
4. 在目录中寻找文件
5. 使用初始化信息
这一类信息通常存在key=value形式的键/值队中。
6. 使用注册表
字段 |
等价的注册表键 |
典型应用 |
ClassesRoot |
HKEY_CLASSES_ROOT |
定义文档的类型以及与那些类型关联的属性 |
CurrentConfig |
HKEY_CURRENT_CONFIG |
每个系统的本地硬件配置信息 |
CurrentUser |
HKEY_CURRENT_USER |
每个用户的首选项信息 |
DynData |
HEKY_DYN_DATA |
动态数据,例如虚拟设备驱动器气功的实时信息 |
LocalMchine |
HEKY_LOCAL_MACHINE |
每个系统的本地配置信息 |
PerformanceData |
HEKY_PERFORMANCE_DATA |
每个应用程序的性能计数器 |
Users |
HKEY_USERS |
包含本地系统中的每个用户分支以及新建用户的默认用户设置 |
表八 Registry类的字段
private void btnSave_Click(object sender, System.EventArgs e)
{
try
{
thekey =Registry.CurrentUser;
thekey=thekey.CreateSubKey("SybexCSharp");
thekey.SetValue(txtKey.Text,txtValue.Text);
}
catch(Exception Err)
{
MessageBox.Show(Err.Message);
}
finally
{
thekey.Close();
}
}
private void btnRetrieve_Click(object sender, System.EventArgs e)
{
if(this.txtKey.Text!=string.Empty)
{
try
{
this.txtValue.Text=string.Empty;
thekey=Registry.CurrentUser;
thekey=thekey.CreateSubKey("SybexCSharp");
this.txtValue.Text=(string)thekey.GetValue(this.txtKey.Text,string.Empty);
}
catch(Exception Err)
{
MessageBox.Show(Err.Message);
}
finally
{
thekey.Close();
if(this.txtValue.Text==string.Empty)
{
this.txtValue.Text="Could not get value!";
}
}
}
}