1、安徽电子信息职业技术学院安徽电子信息职业技术学院C#C#程序设计程序设计课程组课程组项目运行界面 安徽电子信息职业技术学院安徽电子信息职业技术学院C#C#程序设计程序设计课程组课程组项目目标 l了解流l掌握文件与目录的管理方法l掌握TreeView控件的常用属性、方法与事件l掌握ListView控件的常用属性、方法与事件l掌握各类文件内容的读写方法l 熟练使用TreeView控件和ListView控件l 会对文件与目录进行管理l 会对各种文件进行读写知识目标知识目标1能力目标能力目标2安徽电子信息职业技术学院安徽电子信息职业技术学院C#C#程序设计程序设计课程组课程组工作任务 任务任务1 1文
2、件与目录信文件与目录信息的获取息的获取文件内容的读文件内容的读取取任务任务2 2安徽电子信息职业技术学院安徽电子信息职业技术学院C#C#程序设计程序设计课程组课程组任务一任务一 文件与目录信息的获取文件与目录信息的获取安徽电子信息职业技术学院安徽电子信息职业技术学院C#C#程序设计程序设计课程组课程组DirectoryDirectory类是一个静态类,提供了用于目录操作类是一个静态类,提供了用于目录操作的静态方法。使用该类不仅可以移动、重命名、创建的静态方法。使用该类不仅可以移动、重命名、创建和删除目录,还可以获取和设置目录的有关信息和删除目录,还可以获取和设置目录的有关信息。Director
3、yDirectory类类主要的静态方法如下:主要的静态方法如下:Directory类类1一、目录管理 安徽电子信息职业技术学院安徽电子信息职业技术学院C#C#程序设计程序设计课程组课程组DirectoryInfoDirectoryInfo CreateDirectory(stringCreateDirectory(string path)path):创建指:创建指定路径定路径pathpath中的所有目录,并返回中的所有目录,并返回DirectoryInfoDirectoryInfo对象。对象。void void Delete(stringDelete(string path,boolpath,
4、bool recursive)recursive):删除指定:删除指定的目录的目录boolbool Exists(stringExists(string path)path):确定磁盘中是否存在指定的:确定磁盘中是否存在指定的目录。目录。string string GetDirectories(stringGetDirectories(string path)path):获取指定目录:获取指定目录中子目录的名称。中子目录的名称。string string GetFiles(stringGetFiles(string path)path):获取指定目录中的文:获取指定目录中的文件的名称。件的名称
5、。string string GetLogicalDrivesGetLogicalDrives()():获取此计算机上格式为:获取此计算机上格式为“:”:”的逻辑驱动器的名称。的逻辑驱动器的名称。void void Move(stringMove(string sourceDirName,stringsourceDirName,string destDirNamedestDirName):将文件或目录及其内容移到新位置。将文件或目录及其内容移到新位置。一、目录管理 安徽电子信息职业技术学院安徽电子信息职业技术学院C#C#程序设计程序设计课程组课程组例如:创建目录例如:创建目录“D:C#D:C#
6、学习学习”。若该目录已存在,。若该目录已存在,则先删除再创建。则先删除再创建。if(if(Directory.Exists(DDirectory.Exists(D:C#:C#学习学习)Directory.Delete(DDirectory.Delete(D:C#:C#学习学习,true);,true);/true/true表示将目录中的文件和子目录一并删除表示将目录中的文件和子目录一并删除 Directory.CreateDirectory(DDirectory.CreateDirectory(D:C#:C#学习学习););一、目录管理 安徽电子信息职业技术学院安徽电子信息职业技术学院C#C#
7、程序设计程序设计课程组课程组2DirectoryInfo类类DirectoryInfoDirectoryInfo类是提供了用于目录操作的实例类是提供了用于目录操作的实例方法与属性。方法与属性。(1 1)构造函数)构造函数 DirectoryInfo(stringDirectoryInfo(string path)path)其中其中pathpath表示目录的路径。表示目录的路径。例如:例如:DirectoryInfoDirectoryInfo dir=new dir=new DirectoryInfo(DDirectoryInfo(D:C#:C#学习学习););一、目录管理安徽电子信息职业技术学
8、院安徽电子信息职业技术学院C#C#程序设计程序设计课程组课程组(2 2)主要属性)主要属性AttributesAttributes:获取或设置目录属性。其取值为:获取或设置目录属性。其取值为FileAttributesFileAttributes枚举成员之一枚举成员之一。ExistsExists:获取指示目录是否存在的值:获取指示目录是否存在的值。FullNameFullName:获取目录的完整名称:获取目录的完整名称。NameName:获取目录的名称,不包括路径:获取目录的名称,不包括路径。ParentParent:获取目录的父目录:获取目录的父目录。一、目录管理安徽电子信息职业技术学院安徽
9、电子信息职业技术学院C#C#程序设计程序设计课程组课程组例如:若目录例如:若目录“D:C#D:C#学习学习”存在,则将其隐藏。存在,则将其隐藏。DirectoryInfoDirectoryInfo dir=new dir=new DirectoryInfo(DDirectoryInfo(D:C#:C#学习学习););if(if(dir.Existsdir.Exists)dir.Attributesdir.Attributes=FileAttributes.HiddenFileAttributes.Hidden;一、目录管理安徽电子信息职业技术学院安徽电子信息职业技术学院C#C#程序设计程序设计
10、课程组课程组FileFile类是一个静态类,提供了用于文件操作的静类是一个静态类,提供了用于文件操作的静态方法。使用该类不仅可以创建、删除、复制、移动态方法。使用该类不仅可以创建、删除、复制、移动和打开文件,还可以获取和设置文件的有关信息。和打开文件,还可以获取和设置文件的有关信息。FileFile类的常用方法类的常用方法如下:如下:File类类1二、文件管理 安徽电子信息职业技术学院安徽电子信息职业技术学院C#C#程序设计程序设计课程组课程组void void Delete(stringDelete(string fileNamefileName):删除指定的文件。:删除指定的文件。bool
11、bool Exists(stringExists(string fileNamefileName):确定指定的文件是否存在。:确定指定的文件是否存在。v o i d v o i d C o p y(s t r i n gC o p y(s t r i n g s o u r c e F i l e N a m e,s t r i n gs o u r c e F i l e N a m e,s t r i n g destFileName,booldestFileName,bool overwrite)overwrite):将指定文件复制到新位置,:将指定文件复制到新位置,允许覆盖同名的文件。
12、允许覆盖同名的文件。void void Move(stringMove(string sourceFileName,stringsourceFileName,string destFileNamedestFileName):将指定文件移到新位置,不能覆盖同名的文件。将指定文件移到新位置,不能覆盖同名的文件。FileAttributesFileAttributes GetAttributes(stringGetAttributes(string fileNamefileName):获取指:获取指定文件的属性。定文件的属性。二、文件管理安徽电子信息职业技术学院安徽电子信息职业技术学院C#C#程序设
13、计程序设计课程组课程组例如:若文件例如:若文件“D:D:aa.txtaa.txt”存在,则将其复制到存在,则将其复制到“E:”E:”,并改名为,并改名为“bb.txtbb.txt”。if(if(File.Exists(D:aa.txtFile.Exists(D:aa.txt)File.Copy(D:aa.txtFile.Copy(D:aa.txt,E:,E:bb.txtbb.txt,true);true);二、文件管理安徽电子信息职业技术学院安徽电子信息职业技术学院C#C#程序设计程序设计课程组课程组2FileInfo类类FileInfoFileInfo类是提供了用于文件操作的实例方法与类是提
14、供了用于文件操作的实例方法与属性属性。(1 1)构造函数)构造函数 FileInfo(stringFileInfo(string fileNamefileName)fileNamefileName表示文件的完整名称。表示文件的完整名称。例如:例如:FileInfoFileInfo file=new file=new FileInfo(D:aa.txtFileInfo(D:aa.txt););二、文件管理安徽电子信息职业技术学院安徽电子信息职业技术学院C#C#程序设计程序设计课程组课程组(2 2)主要属性)主要属性AttributesAttributes:获取或设置文件属性。:获取或设置文件属性
15、。DirectoryNameDirectoryName:获取表示文件所在目录的完整路:获取表示文件所在目录的完整路径的字符串。径的字符串。ExistsExists:获取指示文件是否存在的值。:获取指示文件是否存在的值。ExtensionExtension:获取表示文件扩展名部分的字符串:获取表示文件扩展名部分的字符串.FullNameFullName:获取文件的完整名称。:获取文件的完整名称。NameName:获取文件的名称,不包括路径。:获取文件的名称,不包括路径。LengthLength:获取当前文件的大小(字节)。:获取当前文件的大小(字节)。二、文件管理安徽电子信息职业技术学院安徽电子
16、信息职业技术学院C#C#程序设计程序设计课程组课程组例如:获取目录例如:获取目录“D:C#D:C#学习学习”中的所有文件,若文中的所有文件,若文件的扩展名为件的扩展名为“.txt”.txt”,则将其设置为隐藏和只读。,则将其设置为隐藏和只读。string string fileNamesfileNames=Directory.GetFiles(DDirectory.GetFiles(D:C#:C#学习学习););foreachforeach(string name in (string name in fileNamesfileNames)FileInfoFileInfo file=new f
17、ile=new FileInfo(nameFileInfo(name););if(if(file.Extensionfile.Extension=.txt)=.txt)file.Attributesfile.Attributes=FileAttributes.HiddenFileAttributes.Hidden|FileAttributes.ReadOnlyFileAttributes.ReadOnly;二、文件管理安徽电子信息职业技术学院安徽电子信息职业技术学院C#C#程序设计程序设计课程组课程组TreeViewTreeView控件以类似于控件以类似于WindowsWindows资源管理器
18、左窗格中资源管理器左窗格中显示文件和文件夹的方式显示节点的层次结构。显示文件和文件夹的方式显示节点的层次结构。(1 1)TreeViewTreeView控件的常用属性控件的常用属性NodesNodes:获取分配给该控件的树节点集合。每个树节点:获取分配给该控件的树节点集合。每个树节点都具有一个都具有一个NodesNodes属性。属性。SelectedNodeSelectedNode:获取和设置当前选中的树节点。:获取和设置当前选中的树节点。ImageListImageList:获取或设置包含树节点所使用图像的:获取或设置包含树节点所使用图像的ImageListImageList组件。组件。Tr
19、eeView(树形视图)控件(树形视图)控件 1三、视图控件 安徽电子信息职业技术学院安徽电子信息职业技术学院C#C#程序设计程序设计课程组课程组(2 2)TreeViewTreeView控件的常用操作控件的常用操作添加树节点添加树节点格式:格式:N o d e s.A d d(n a m e,t e x t,i m a g e I n d e xN o d e s.A d d(n a m e,t e x t,i m a g e I n d e x,selectedImageIndexselectedImageIndex););说明:说明:参数参数texttext是要在树节点中显示的文本,是要
20、在树节点中显示的文本,namename、imageIndeximageIndex和和selectedImageIndexselectedImageIndex是可选参数,分别表示是可选参数,分别表示树节点的名称、要在树节点中显示的图像的索引、处于选树节点的名称、要在树节点中显示的图像的索引、处于选定状态时要在树节点中显示的图像的索引定状态时要在树节点中显示的图像的索引。三、视图控件 安徽电子信息职业技术学院安徽电子信息职业技术学院C#C#程序设计程序设计课程组课程组添加的树节点中若要包含图像,需要先将图像添加到添加的树节点中若要包含图像,需要先将图像添加到ImageListImageList组件
21、(该组件使用很简单,若有问题请查阅帮组件(该组件使用很简单,若有问题请查阅帮助文档),然后将助文档),然后将TreeViewTreeView控件的控件的ImageListImageList属性设置为属性设置为包含图像的包含图像的ImageListImageList组件组件。本方法返回一个本方法返回一个TreeNodeTreeNode对象对象。例如:例如:TreeNode rootNode=treeView1.Nodes.Add(“node01”,TreeNode rootNode=treeView1.Nodes.Add(“node01”,“节点节点1);1);三、视图控件 安徽电子信息职业技术
22、学院安徽电子信息职业技术学院C#C#程序设计程序设计课程组课程组删除树节点删除树节点格式:格式:Nodes.Nodes.Remove(treeNodeRemove(treeNode););说明:说明:参数参数treeNodetreeNode是要删除的树节点。是要删除的树节点。例如:删除例如:删除treeView1treeView1控件中当前选中的树节点。控件中当前选中的树节点。TreeNodeTreeNode node=treeView1.SelectedNode;node=treeView1.SelectedNode;treeView1.Nodes.Remove(node);treeView
23、1.Nodes.Remove(node);三、视图控件 安徽电子信息职业技术学院安徽电子信息职业技术学院C#C#程序设计程序设计课程组课程组查找树节点查找树节点格式:格式:Nodes.Find(name,true|falseNodes.Find(name,true|false););说明:说明:参数参数namename表示要搜索的树节点的名称,表示要搜索的树节点的名称,true|falsetrue|false表示表示是否搜索树节点的子节点。是否搜索树节点的子节点。本方法返回一个本方法返回一个TreeNodeTreeNode对象的数组。若参数对象的数组。若参数namename为为 nullnul
24、l、空字符串或者没有匹配项,则本方法返回一个空数、空字符串或者没有匹配项,则本方法返回一个空数组。组。三、视图控件 安徽电子信息职业技术学院安徽电子信息职业技术学院C#C#程序设计程序设计课程组课程组例如:在例如:在treeView1treeView1控件查找名称为控件查找名称为node01node01的树节点,的树节点,若找到,则选中该节点。若找到,则选中该节点。TreeNodeTreeNode nodes=nodes=treeView1.Nodes.Find(node01,true);treeView1.Nodes.Find(node01,true);if(if(nodes.Lengthn
25、odes.Length 0)0)treeView1.SelectedNode=nodes0;/treeView1.SelectedNode=nodes0;/树节点的树节点的名称可以相同,但一般都是唯一的名称可以相同,但一般都是唯一的 三、视图控件 安徽电子信息职业技术学院安徽电子信息职业技术学院C#C#程序设计程序设计课程组课程组TreeViewTreeView控件的其他常用操作举例控件的其他常用操作举例设置当前选中的树节点中显示的文本为设置当前选中的树节点中显示的文本为“ABC”ABC”treeView1.SelectedNode.Text=ABC;treeView1.SelectedNod
26、e.Text=ABC;展开当前选中的树节点展开当前选中的树节点treeView1.SelectedNode.Expand();treeView1.SelectedNode.Expand();折叠当前选中的树节点折叠当前选中的树节点treeView1.SelectedNode.Collapse();treeView1.SelectedNode.Collapse();获取当前选中的树节点的父节点获取当前选中的树节点的父节点TreeNodeTreeNode node=treeView1.SelectedNode.Parent;node=treeView1.SelectedNode.Parent;三、
27、视图控件 安徽电子信息职业技术学院安徽电子信息职业技术学院C#C#程序设计程序设计课程组课程组(3 3)TreeViewTreeView控件的常用事件控件的常用事件AfterSelectAfterSelect事件事件在更改选定节点后发生在更改选定节点后发生。BeforeExpandBeforeExpand事件事件在将要展开节点时发生在将要展开节点时发生。AfterCollapseAfterCollapse事件事件在折叠节点后发生在折叠节点后发生。三、视图控件 安徽电子信息职业技术学院安徽电子信息职业技术学院C#C#程序设计程序设计课程组课程组ListViewListView控件显示了带图标的项
28、的列表。可使用控件显示了带图标的项的列表。可使用该控件创建类似于该控件创建类似于WindowsWindows资源管理器右窗格的用户资源管理器右窗格的用户界面。该控件具有界面。该控件具有5 5种视图模式:种视图模式:LargeIconLargeIcon(大图(大图标)、标)、SmallIconSmallIcon(小图标)、(小图标)、ListList(列表)、(列表)、DetailsDetails(详细信息)和(详细信息)和TileTile(平铺),其中(平铺),其中DetailsDetails视图在多列中显示项,视图在多列中显示项,TileTile视图只能在视图只能在 Windows XP W
29、indows XP 和和 Windows Server 2003 Windows Server 2003 操作系统上使用操作系统上使用。ListView(列表视图)控件(列表视图)控件三、视图控件 2安徽电子信息职业技术学院安徽电子信息职业技术学院C#C#程序设计程序设计课程组课程组(1 1)TreeViewTreeView控件的常用控件的常用属性属性ColumnsColumns:获取包含控件中所有列的集合。:获取包含控件中所有列的集合。ItemsItems:获取包含控件中所有项的集合。:获取包含控件中所有项的集合。ViewView:获取或设置控件中可以显示项的视图模式。:获取或设置控件中可以
30、显示项的视图模式。LargeImageListLargeImageList:获取或设置:获取或设置ImageListImageList组件,当项在控件中显组件,当项在控件中显示为大图标时使用(示为大图标时使用(LargeIconLargeIcon和和TileTile视图显示的图标为大图标)。视图显示的图标为大图标)。SmallImageListSmallImageList:获取或设置:获取或设置ImageListImageList组件,当项在控件中显组件,当项在控件中显示为小图标时使用(示为小图标时使用(ListList、DetailsDetails和和SmallIconSmallIcon视图
31、显示的图标为小视图显示的图标为小图标)。图标)。SelectedIndicesSelectedIndices:获取控件中选定项的索引。:获取控件中选定项的索引。SelectedItemsSelectedItems:获取在控件中选定的项。:获取在控件中选定的项。三、视图控件 安徽电子信息职业技术学院安徽电子信息职业技术学院C#C#程序设计程序设计课程组课程组(2 2)ListViewListView控件的常用操作控件的常用操作添加列(在添加列(在DetailsDetails视图中使用)视图中使用)格式:格式:Columns.Add(nameColumns.Add(name,text,widtht
32、ext,width););说明:说明:参数参数texttext是要在列标题中显示的文本,是要在列标题中显示的文本,namename和和widthwidth是可选参数,分别表示列标题的名称和宽度。是可选参数,分别表示列标题的名称和宽度。三、视图控件 安徽电子信息职业技术学院安徽电子信息职业技术学院C#C#程序设计程序设计课程组课程组例如:例如:在在listView1listView1控件中添加学号、姓名和性别三列,控件中添加学号、姓名和性别三列,列的名称与宽度自定。列的名称与宽度自定。listView1.Columns.Add(no,listView1.Columns.Add(no,学号学号,1
33、00);,100);listView1.Columns.Add(name,listView1.Columns.Add(name,姓名姓名,150);,150);listView1.Columns.Add(sex,listView1.Columns.Add(sex,性别性别,50);,50);三、视图控件 安徽电子信息职业技术学院安徽电子信息职业技术学院C#C#程序设计程序设计课程组课程组添加项添加项格式:格式:Items.Add(nameItems.Add(name,text,imageIndextext,imageIndex););说明:说明:本方法返回一个本方法返回一个ListViewIt
34、emListViewItem对象(对象(ListViewItemListViewItem对对象表示象表示ListViewListView控件中的项)。其中参数控件中的项)。其中参数texttext是项的文本,是项的文本,namename和和imageIndeximageIndex是可选参数,分别表示项的名称和该项是可选参数,分别表示项的名称和该项显示的图像的索引。显示的图像的索引。三、视图控件 安徽电子信息职业技术学院安徽电子信息职业技术学院C#C#程序设计程序设计课程组课程组添加子项添加子项格式:格式:itemObj.SubItems.Add(textitemObj.SubItems.Add
35、(text););说明:说明:itemObjitemObj是指要添加子项的项,是指要添加子项的项,SubItemsSubItems是指包含该是指包含该项的所有子项的集合,参数项的所有子项的集合,参数texttext是项的文本。是项的文本。三、视图控件 安徽电子信息职业技术学院安徽电子信息职业技术学院C#C#程序设计程序设计课程组课程组例如:在上例例如:在上例listView1listView1控件中添加一个学生的信息,其控件中添加一个学生的信息,其中学号、姓名和性别分别为中学号、姓名和性别分别为“201008001”201008001”、“张三张三”、“男男”L i s t V i e w I
36、 t e mL i s t V i e w I t e m i t e m =i t e m =listView1.Items.Add(201008001);/listView1.Items.Add(201008001);/添加项添加项item.SubItems.Additem.SubItems.Add(张三张三);/);/添加子项添加子项item.SubItems.Additem.SubItems.Add(男男););listView1.View=listView1.View=View.DetailsView.Details;/;/设置视图模式为设置视图模式为DetailsDetails三、
37、视图控件 安徽电子信息职业技术学院安徽电子信息职业技术学院C#C#程序设计程序设计课程组课程组ListViewListView控件的其他常用操作举例控件的其他常用操作举例获取获取上例中所选项的姓名上例中所选项的姓名listView1.SelectedItems0.SubItems1.Text;listView1.SelectedItems0.SubItems1.Text;删除指定项删除指定项listView1.Items.Remove(listView1.SelectedItems0);listView1.Items.Remove(listView1.SelectedItems0);清空所有项
38、清空所有项listView1.Items.Clear();listView1.Items.Clear();三、视图控件 安徽电子信息职业技术学院安徽电子信息职业技术学院C#C#程序设计程序设计课程组课程组(3 3)ListViewListView控件的常用事件控件的常用事件SelectedIndexChangedSelectedIndexChanged事件事件在在SelectedIndicesSelectedIndices集合更改时(即在用户选择项或集合更改时(即在用户选择项或取消选择项时)发生。取消选择项时)发生。三、视图控件 安徽电子信息职业技术学院安徽电子信息职业技术学院C#C#程序设计
39、程序设计课程组课程组任务二任务二 文件内容的读取文件内容的读取安徽电子信息职业技术学院安徽电子信息职业技术学院C#C#程序设计程序设计课程组课程组一、流的概念 流是字节序列的抽象概念,流是字节序列的抽象概念,.NET.NET中对文件、输中对文件、输入入/输出设备、内部进程通信管道或者输出设备、内部进程通信管道或者 TCP/IPTCP/IP套套接字等的输入输出操作都要用到流(此处仅讨论接字等的输入输出操作都要用到流(此处仅讨论对文件的输入输出操作)对文件的输入输出操作).NET Framework.NET Framework定义了一个所有流的抽象基类定义了一个所有流的抽象基类StreamStre
40、am,其派生类中有,其派生类中有5 5种常用于对文件进行读写种常用于对文件进行读写操作的类,具体如下表所示(所有流类都由操作的类,具体如下表所示(所有流类都由System.IOSystem.IO命名空间提供)。命名空间提供)。安徽电子信息职业技术学院安徽电子信息职业技术学院C#C#程序设计程序设计课程组课程组一、流的概念 类类 名名说说 明明FileStream公开以文件为主的 Stream,既支持同步读写操作,也支持异步读写操作StreamReader以一种特定的编码从字节流中读取字符StreamWriter以一种特定的编码向流中写入字符BinaryReader用特定的编码将基元数据类型读作
41、二进制值。BinaryWriter以二进制形式将基元类型写入流,并支持用特定的编码写入字符串。安徽电子信息职业技术学院安徽电子信息职业技术学院C#C#程序设计程序设计课程组课程组二、FileStream类 FileStreamFileStream类表示文件流,用于在程序与文件之间以类表示文件流,用于在程序与文件之间以字节方式传输数据。字节方式传输数据。(1 1)FileStreamFileStream对象的创建对象的创建使用构造函数创建使用构造函数创建例 如:创 建 一 个 以 只 读 方 式 打 开 现 有 文 件例 如:创 建 一 个 以 只 读 方 式 打 开 现 有 文 件“C:C:F
42、ileStream.txtFileStream.txt”,并将只读访问权限授予其他用,并将只读访问权限授予其他用户的户的FileStreamFileStream对象。对象。FileStreamFileStream fsfs=new =new FileStream(C:FileStream.txtFileStream(C:FileStream.txt,FileMode.OpenFileMode.Open,FileAccess.ReadFileAccess.Read,FileShare.ReadFileShare.Read););安徽电子信息职业技术学院安徽电子信息职业技术学院C#C#程序设计程序
43、设计课程组课程组二、FileStream类 使用使用FileFile和和FileInfoFileInfo类的方法创建类的方法创建FileFile和和FileInfoFileInfo类的类的CreateCreate、OpenOpen等方法都返回等方法都返回FileStreamFileStream对象,例如,下面的代码与上例效果相同。对象,例如,下面的代码与上例效果相同。FileStreamFileStream fsfs=File.OpenFile.Open(C:(C:FileStream.txtFileStream.txt,FileMode.OpenFileMode.Open,FileAcces
44、s.ReadFileAccess.Read,FileShare.ReadFileShare.Read););安徽电子信息职业技术学院安徽电子信息职业技术学院C#C#程序设计程序设计课程组课程组二、FileStream类 (2 2)FileStreamFileStream类的常用属性类的常用属性LengthLength:获取用字节表示的流长度。:获取用字节表示的流长度。PositionPosition:获取或设置流的当前位置。:获取或设置流的当前位置。(3 3)FileStreamFileStream类的常用方法类的常用方法void Close()void Close():关闭流并释放与之关联的
45、所有资源。:关闭流并释放与之关联的所有资源。void Flush()void Flush():清除流的所有缓冲区,使所有缓冲的:清除流的所有缓冲区,使所有缓冲的数据都写入到文件。数据都写入到文件。intint Read(byteRead(byte array,intarray,int offset,intoffset,int count)count):从流中读取数据,从流中读取数据,安徽电子信息职业技术学院安徽电子信息职业技术学院C#C#程序设计程序设计课程组课程组二、FileStream类 intint Read(byteRead(byte array,intarray,int offset
46、,intoffset,int count)count):从流中读取数据,并将该数据写入从流中读取数据,并将该数据写入arrayarray中。中。intint ReadByteReadByte()():从文件中读取一个字节,并将读取:从文件中读取一个字节,并将读取位置提升一个字节。位置提升一个字节。void void Write(byteWrite(byte array,intarray,int offset,intoffset,int count)count):将将arrayarray中的数据写入该流。中的数据写入该流。void void WriteByte(byteWriteByte(byt
47、e value)value):将:将valuevalue中字节写入中字节写入流的当前位置。流的当前位置。安徽电子信息职业技术学院安徽电子信息职业技术学院C#C#程序设计程序设计课程组课程组二、FileStream类 例如:读取文件例如:读取文件“C:C:File.txtFile.txt”(该文件的字符编码为(该文件的字符编码为GB18030GB18030)中的全部内容,并在文本框)中的全部内容,并在文本框textBox1textBox1中显示。中显示。private void Form1_Load(object sender,private void Form1_Load(object sen
48、der,EventArgsEventArgs e)e)FileStreamFileStream fsfs=new=new FileStream(C:File.txt,FileMode.OpenFileStream(C:File.txt,FileMode.Open,FileAccess.ReadFileAccess.Read););byte bytes=new byte bytes=new Bytefs.LengthBytefs.Length;intint count=count=fs.Read(bytesfs.Read(bytes,0,0,bytes.Lengthbytes.Length);)
49、;fs.Closefs.Close();();textBox1.Text=textBox1.Text=Encoding.GetEncoding(GB18030).GetString(bytes,0,count);Encoding.GetEncoding(GB18030).GetString(bytes,0,count);安徽电子信息职业技术学院安徽电子信息职业技术学院C#C#程序设计程序设计课程组课程组三、StreamReader类 StreamReaderStreamReader类以一种特定的编码从流中读取字符,类以一种特定的编码从流中读取字符,主要用于读取文本文件主要用于读取文本文件。(1
50、 1)构造函数)构造函数StreamReaderStreamReader(string)string):用:用UTF-8UTF-8编码和默认缓冲区编码和默认缓冲区大小,为指定路径上的指定文件初始化大小,为指定路径上的指定文件初始化StreamReaderStreamReader类的类的新实例。新实例。StreamReaderStreamReader(string,Encodingstring,Encoding):用指定的编码和:用指定的编码和默认缓冲区大小,为指定路径上的指定文件初始化默认缓冲区大小,为指定路径上的指定文件初始化StreamReaderStreamReader类的一个新实例。类
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。