C-基础管理与设计 5_第1页
已阅读1页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

任务9设计学生信息管理模块

C#程序设计在我们学会了如何创建图形化的用户界面,如何使用控件获取用户输入之后,将进一步讲解在.NET中使用文件形式将数据长久地保存到磁盘上的方法。本任务要完成智慧寝室管理平台中学生信息管理模块的设计,包括添加、修改、删除和查询学生信息。任务描述文件管理数据流基础相关知识文件管理0102File和FileInfo类Directory和DirectoryInfo类01System.IO命名空间System.IO命名空间文件是以计算机硬盘为载体存储在计算机上的信息集合,以实现某种功能、或某个软件的部分功能为目的而定义的一个单位,是操作系统进行数据读写操作的基本对象。每个文件都有文件名、所在路径、创建时访问权限等属性。文件通常是以树状目录的结构进行组织的。System.IO命名空间对文件和目录的操作是在实际应用程序中经常遇到的问题。文件的操作主要包括文件的创建、读写、删除、更新等,对目录的操作也是类似。.NET框架在命名空间System.IO中提供了Directory类和DirectoryInfo类来进行文件目录的处理;提供了File类和FileInfo类来进行文件处理,另外还提供了Stream类,与File类和FileInfo类一起协作,提供流来完成对文件的创建、删除、复制、移动、打开等操作。System.IO命名空间System.IO命名空间包含的常用类类名称说明Directory提供了用于创建、移动和读取目录的静态方法DirectoryInfo提供了用于创建、移动和读取目录的实例方法,必须创建该类的实例后使用File提供了创建、复制、删除、移动和打开文件的静态方法FileInfo提供了创建、复制、删除、移动和打开文件的实例方法,必须创建该类的实例后使用FileStream表示读写文件的基本流,同时支持同步和异步读写操作StreamReader从文本文件的字节流中读取字符StreamWriter写入字符到文本文件的字节流中BinaryReader从二进制文件读取数据BinaryWriter写入数据到二进制文件Path提供了操作文件路径或目录路径的方法在命名空间System.IO中用于文件处理的两个类File和FileInfo中,File类通常与FileStream类协作完成对文件的创建、删除、复制、移动、打开等操作。所有File类的方法都是静态的,不需要实例化即可以调用。而Filelnfo类和File类是紧密相关的,FileInfo类的所有方法都是实例方法。File和FileInfo类

File类的常用方法File和FileInfo类方法名称说明AppendAllText将指定的字符串追加到文件中,如果文件不存在则创建该文件AppendText创建一个StreamWrite对象,该对象将UTF-8编码文本追加到现有文件或新文件(如果指定文件不存在)Copy将现有文件复制到新文件Create在指定路径中创建或覆盖文件CreateText创建或打开用于写入UTF-8编码文本的文件。如果该文件已存在,将覆盖其内容Delete删除指定文件Exists确定指定的文件是否存在Move将指定文件移到新位置FileInfo类的常用属性和方法File和FileInfo类名称类型说明DirectoryName属性获取表示目录的完整路径的字符串Exists属性获取指定文件是否存在的值Extension属性获取文件的扩展名Length属性获取文件的大小LastWriteTime属性获取文件最后被修改时间Name属性获取文件的文件名AppendText方法创建一个StreamWriter对象,用于在文件尾部添加新文本CopyTo方法将一个存在的文件复制为一个新文件Create方法创建一个新文件CreateText方法创建一个StreamWriter对象,用于创建一个新文本文件Delete方法删除指定文件MoveTo方法将文件移动到一个新路径Open方法用各种读/写访问权限和共享特权打开文件使用File类和FileInfo类在项目目录下新建一个文件,并显示文件详细信息。

File和FileInfo类在目录处理中,Directory类中提供的关于创建、移动和浏览目录的方法都是静态方法,无须创建类的实例即可调用。而DirectoryInfo类与Directory很类似,用于提供文件和目录的信息,但在使用前必须实例化。Directory和DirectoryInfo类

Directory类的常用方法Directory和DirectoryInfo类方法名称说明CreateDirectory在指定路径中创建一个新目录Delete删除指定目录及(可选地)删除其任意子目录Exists确定给定路径是否引用磁盘上的现有目录GetDirectories获取指定目录下的子目录名称GetFiles获取指定目录下的文件名称GetParent获取指定目录的父目录,包括绝对路径和相对路径Move将文件或目录及其内容移到新位置DirectoryInfo类的常用方法和属性Directory和DirectoryInfo类名称类型说明Exists属性获取指示目录是否存在FullName属性获取目录或文件的完整目录Create方法创建一个新目录Delete方法删除指定目录CreateSubdirectory方法在指定路径中创建一个或多个子目录。指定路径可以是相对于DirectoryInfo

类的此实例的路径GetDirectories方法获取当前目录的子目录集合GetFiles方法获取当前目录的文件列表MoveTo方法将整个目录移动到一个新的目标目录使用DirectoryInfo对象,就可以获取文件夹的大小等各种信息。创建DirectoryInfo对象的语法如下:DirectoryInfo

对象实例名=newDirectoryInfo(文件物理路径);使用Directory类,读出用户指定目录下的所有子目录与文件并显示。

Directory和DirectoryInfo类使用DirectoryInfo类实现文件目录的创建与删除。Directory和DirectoryInfo类文件管理数据流基础相关知识数据流基础0102文件流文本文件处理03二进制文件处理04序列化与反序列化流是进行数据读取操作的基本对象,为用户提供了连续的字节流存储空间。流就如同是在应用程序和存储媒介之间架设的管道,数据可以通过这个管道流动到程序的内存中,也可以从程序中流动到存储媒介中。在.NET框架中,所有表示流的类都是从抽象类Stream继承的。Stream类及其派生类提供不同类型的输入和输出的一般视图,使开发人员不必了解操作系统和基础设备的具体细节。流的3种基本操作是:(1)读取:从流到数据结构的数据传输。(2)写入:从数据结构到流的数据传输。(3)查找:对流内的当前位置进行查询和修改。数据流基础程序写入

程序输出流输入流读取读取写入文件文件文件流FileStream类实现用文件流的方式来操纵文件。通过FileStream类的构造函数可以新建一个文件。FileStream类提供了多种构造函数的重载形式,其中比较常用的3种格式如下://使用指定的路径和创建模式初始化FileStream类的新实例publicFileStream(stringpath,FileModemode);//使用指定的路径、创建模式和读/写权限初始化FileStream类的新实例publicFileStream(stringpath,FileModemode,FileAccessaccess);//使用指定的路径、创建模式、读/写权限和共享权限创建FileStream类的新实例publicFileStream(stringpath,FileModemode,FileAccessaccess,FileShareshare);文件流FileStream类的常用方法和属性文件流名称类型说明CanRead属性确定当前文件流是否支持文件读取操作CanSeek属性确定当前文件流是否支持文件查找操作CanWrite属性确定当前文件流是否支持写入操作Length属性获取用字节表示的文件流的长度Position属性获取或设置文件流的当前位置Close方法用于关闭文件流Read方法从流中读取字节块并将该数据写入给定缓冲区中ReadByte方法用于从文件流中读取一个字节的数据Write方法负责将数据写入到文件中利用File类和FileStream类进行文件操作。文件流利用File类和FileStream类进行文件操作。文件流C#还提供了两个专门负责文本文件读取与写入操作的类,即StreamWriter类及StreamReader类。这两个类的用法和FileStream类的用法类似。读写文本文件时,File类的静态方法会返回一个流。在写入文件时,需要使用StreamWriter类的实例。而在读取文件时,则需要使用StreamReader类的实例。文本文件处理StreamReader对象的常用属性和方法文本文件处理名称类型说明BaseStream属性返回基础流CurrentEncoding属性读取当前StreamReader正在使用的当前字符编码Close方法关闭StreamReader和基础流,释放有关资源Peek方法返回下一个可用的字符Read方法读取输入流中的下一个字符或下一组字符ReadLine方法从当前流中读取一行字符并将数据作为字符串返回ReadToEnd方法读取来自流的当前位置到结尾的所有字符

StreamWriter对象的常用属性和方法文本文件处理名称类型说明Encoding属性获取将输出写入到其中的EncodingNewLine属性获取或设置由当前TextWriter使用的具有行结束符的字符串Close方法关闭当前的StreamWriter对象和基础流Write方法写入流WriteLine方法写入重载参数指定的某些数据,具有行结束符使用StreamWriter类和StreamReader类读写文本文件。文本文件处理处理二进制文件的一般方法是创建FileStream类的一个实例,用来表示基于二进制文件的文件流。创建了FileStream后,就可以使用BinaryWriter流写入文件,或者用BinaryReader流读取文件了。读写二进制文件的一般步骤如下:(1)创建FileStream类的实例。例如:FileStreamMyFileStream=newFileStream("myFile.dat",FileMode.Create);(2)在创建了FileStream类的实例后,就可以使用该实例初始化BinaryWriter或BinaryReader。例如:BinaryWriterMyBinaryWriter=newBinaryWriter(MyFileStream)(3)使用Write方法或Read方法读写二进制文件。二进制文件处理使用BinaryWriter类和BinaryReader类进行二进制文件的读写。二进制文件处理在程序开发过程中有时需要传输和保存对象,但对象是无法直接进行数据传输与保存的。因此,.NET提供了对象的序列化和反序列化。序列化是指将对象状态转换为可传输或可保存的过程。反序列化是序列化的补集,是指将存储的流转换为对象的过程。这两个过程一起能够保证数据易于存储和传输。在进行序列化之前必须先使用Serializable标签标记需要序列化的对象,然后在序列化过程中,会先将对象的公共字段以及类的名称(包括类的程序集)转换为字节流,然后再把字节流写入数据流。在随后对对象进行反序列化时,将创建出与原对象完全相同的副本。序列化与反序列化序列化与反序列化示例。序列化与反序列化【例】完成学生公寓管理系统中学生信息管理模块,该模块实现对学生信息的添加、修改、删除和查询功能。任务实施在计算机中,无论是文本、图片、音频还是视频,所有的文件都是以二进制(字节)形式存储的。C#专门针对文件的输入输出操作提供了一系列的流,统称为文件流。文件流是程序中最常用的流,根据数据的传输方向可将其分为输

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论