Move ( string sourceFileName , string 将指定文件移动到一个新的路径 destFileName) Delete ( string path ) 删除指定文件,若不存在,则不会引发异常
FileInfo类的属性和方法 (ACCP6.0)—— 想要多次使用某个文件对象用FileInfo 属性 Exists Extension Name FullName 方法 CopyTo ( String) Delete () MoveTo (String) 说明 用于检查指定文件是否存在,返回一个布尔值 获取表示文件扩展名部分的字符串 获取文件名 获取目录或文件的完整目录 说明 将现有文件复制到新文件,不允许覆盖现有文件 永久删除文件 将指定文件移到新位置(string) Directory && DirectoryInfo(ACCP6.0)(多次重用某个目录对象)类的常用方法 方法 Exists ( string path ) 说明 用于检查指定文件夹在磁盘上是否存在 Move(string sourceDirName , 用于将文件或目录及其内容移到新位置 string destDirName) Delete ( string , bool ) GetDirectories () GetFiles () 示例:小型资源管理器
删除指定目录,如果bool=true,则删除子目录中的所有目录内容 Directory DirectoryInfo Directory DirectoryInfo 返回值是当前目录的子目录的名称数组 返回当前目录的子目录对象数组 返回值是指定目录下的文件名数组 返回当前目录下文件列表(FileInfo对象数组) 3.5序列化和反序列化
1. 命名空间 ———— using System.Runtime.Serialization.Formatters.Binary; 2. 序列化:
? 含义:将对象的状态存储到存储介质中的过程 ? 语法:——类的头部加 [Serializable]
public void Save()
{
//定义文件流——序列化需要通过文件流保存到文件
? ?
FileStream fs = new FileStream(\, FileMode.Create); //\ 文件的路径 BinaryFormatter bf = new BinaryFormatter(); // BinaryFormatter 二进制格式化器
// Serialize(指定序列化过程的文件流 , 要保存的对象)是BinaryFormatter的方法
? }
bf.Serialize(fs, cust);
? 注意:
? 如果需要格式化某个对象,那么它的成员也必须是可序列化的
? 若可序列化中有不想序列化的属性,在属性上方加 [NonSerialized] 标记 3. 反序列化:
? 含义:从特定介质中将数据重新构建对象的过程 ? 语法:
public void Load()
{
? ? ? }
FileStream fs = new FileStream(\, FileMode.Open); BinaryFormatter bf = new BinaryFormatter(); cust = (Customer)bf.Deserialize(fs) ;
//Deserialize()将存储介质的数据文件流转换为Object类型,所以需要类型转换
4. 示例:
用户订单
3.6特性(ACCP6.0)
定义:如:[Serializable] [Obsolete](标记一个不再使用的程序元素eg:) 本身称为可序列化特性 特点:
为目标文件(数据集,模块,类,属性,方法,函数参数)加入附加信息,类似于注释 特性本质也是一个类,[Serializable]对应SerializableAttribute类 特性命名以Attribute结尾,通常省略
自定义特性