VB第8章文件操作课件.ppt

上传人(卖家):三亚风情 文档编号:2868521 上传时间:2022-06-06 格式:PPT 页数:72 大小:2.74MB
下载 相关 举报
VB第8章文件操作课件.ppt_第1页
第1页 / 共72页
VB第8章文件操作课件.ppt_第2页
第2页 / 共72页
VB第8章文件操作课件.ppt_第3页
第3页 / 共72页
VB第8章文件操作课件.ppt_第4页
第4页 / 共72页
VB第8章文件操作课件.ppt_第5页
第5页 / 共72页
点击查看更多>>
资源描述

1、8.1 文件文件IO流模型流模型8.2 文件夹和文件操作文件夹和文件操作8.3 文件读写操作文件读写操作8.1.1 System.IO名称空间的资源名称空间的资源System.IO模型中的资源由System.IO名称空间提供。该名称空间含有对数据流和文件进行同步或异步读写的类、结构和枚举类型,表8.1、表8.2、表8.3分别列出了System.IO名称空间提供的部分常用的类、结构和枚举类型。System.IO名称空间提供如下功能(括号中是提供相应功能的类):(1)建立、删除、管理文件和文件夹(File和Directory)。(2)监控文件和文件夹的访问操作(FileSystemWatcher)

2、。(3)对流进行单字节字符或字节块的读/写操作(SystemReader和SystemWriter)。(4)对流进行多字节字符的读/写操作(SystemReader和SystemWriter)。(5)对流进行字符的读/写操作(SystemReader和SystemWriter)。(6)对字符串进行字符的读/写操作,并允许把字符串作为字符流处理(StringReader和StringWriter)。(7)从一个流中读取数据类型和对象,或将数据类型和对象写入流中(BinaryReader和BinaryWriter)。(8)文件的随机访问(FileStream)。(9)系统性能优化(MemorySt

3、ream和BufferedStream)。(10)枚举文件或文件夹的属性(FileAccess、FileMode、FileShare、FileAttributes、DirectoryAttributes)。(11)监控文件或文件夹可能的改变(WatcherChangeTypes)。(12)枚举文件或文件夹可能的改变(ChangedFilters)。(13)指定监控的文件或文件夹(WatcherTarget)。(14)指定文件的相对位置(SeekOrigin)。8.2.1 文件夹操作文件夹操作对文件夹操作主要利用Directory和DirectoryInfo两个类来实现,它们都是System.I

4、O名称空间的成员,因此在使用这两个类之前,需要先引入System.IO名称空间,引入的语句如下:ImportsSystem.IO引入System.IO名称空间。1Directory类类1)CreateDirectory方法CreateDirectory方法的功能是建立一个新的文件夹,同时返回一个包括新建文件夹信息的DirectoryInfo对象(DirectoryInfo对象在本节后面介绍),调用的语法格式如下:Directory.CreateDirectory(path)例如,在C盘根文件夹中创建一个名为temp的子文件夹,方法如下:Directory.CreateDirectory(C:t

5、emp)CreateDirectory方法还可以一次建立多级文件夹,示例如下:Directory.CreateDirectory(C:dir1dir2dir3)2)Delete方法Delete方法的功能是删除指定文件夹及其中的所有文件和子文件夹,调用的语法格式如下:Directory.Delete(path,force)例如,删除C盘根文件夹中的名为temp的空文件夹,方法如下:Directory.Delete(C:temp)若temp文件夹中没有任何文件或子文件夹,即可成功删除,否则将产生异常。如要删除含有子文件夹的文件夹,应使用带force参数的方法,示例如下:Directory.Dele

6、te(C:temp,True)3)Exists方法Exists方法的功能是判断指定的文件夹是否存在,若存在则返回一个逻辑值True;否则返回False。调用的语法格式如下:Directory.Exists(path)如果指定的文件夹不存在,Directory类的很多方法会失败,因此在做文件夹操作前,可以先用Exists方法确定文件夹是否存在,示例如下:IfDirectory.Exists(C:temp)thenDirectory.Delete(C:temp,True)4)Move方法Move方法的功能是移动指定的整个文件夹到同一个磁盘中的另外一个位置。Move方法具有改名功能,即将源文件夹移动

7、到目标文件夹指定的位置,但不是移动到目标文件夹中,而是将源文件夹名改为目标文件夹名。调用它的语法格式如下:Directory.Move(source,destination)例如,将C盘根文件夹中名为temp的子文件夹移动到“C:”中,并改名为dir1,方法如下:Directory.Move(C:temp,C:dir1)5)GetLogicalDrives方法GetLogicalDrives方法的功能是返回一个字符串数组,其中包括当前计算机中所有逻辑驱动器名,每个驱动器名是形如“C:”的字符串。调用的语法格式如下:Directory.GetLogicalDrives()例如,下面示例获得本机所

8、有逻辑驱动器的名字,将其存放到字符串数组myDrv中,并将数组中所有元素放到一个组合框ComboBox1中:DimmyDrv(),xAsStringmyDrv=Directory.GetLogicalDrives()ForEachxInmyDrvComboBox1.Items.Add(x)Nextx6)GetDirectories方法GetDirectories方法的功能是返回一个字符串数组,其中包括指定文件夹的所有子文件夹的完整路径名,不包括子文件夹中的子文件夹名。调用的语法格式如下:Directory.GetDirectories(path,pattern)例如,下面示例获得C盘dir1文

9、件夹的所有子文件夹的名字,将其存放到字符串数组myDrv中:DimmyDrv()AsStringmyDrv=Directory.GetDirectories(C:dir1)GetDirectories方法还可以使用通配符,获得符合条件的子文件夹名。例如,要获得C:WinNT下所有名字中包含“system”的子文件夹名,使用下面的语句:DimmyDrv()AsStringmyDrv=Directory.GetDirectories(C:WinNT,*system*)7)GetFiles方法GetFiles方法的功能是返回一个字符串数组,其中包括指定文件夹的所有文件的完整路径名,但不包括子文件夹中

10、的文件名。调用的语法格式如下:Directory.GetFiles(path,pattern)例如,下面示例获得C盘dir1文件夹中的所有文件的名字,将其存放到字符串数组myFiles中:DimmyFiles()AsStringmyFiles=Directory.GetFiles(C:dir1)GetFiles方法还可以使用通配符,获得符合条件的文件名。例如,要获得C:WinNT下所有扩展名为ini的文件名,使用下面的语句:DimmyFiles()AsStringmyFiles=Directory.GetFiles(C:WinNT,*.ini)8)GetFileSystemEntries方法G

11、etFileSystemEntries方法的功能是返回一个字符串数组,其中包括指定文件夹的所有子文件夹和文件的完整路径名,但不包括子文件夹中的文件夹和文件名。该方法实际是GetDirectories和GetFiles方法返回的数组的总和。调用的语法格式如下:Directory.GetFileSystemEntries(path,pattern)例如,下面示例获得C盘dir1文件夹中所有文件夹和文件的名字,将其存放到字符串数组myFiles中:DimmyFiles()AsStringmyFiles=Directory.GetFileSystemEntries(C:dir1)GetFileSyst

12、emEntries方法也可以使用通配符,获得符合条件的文件夹和文件名。例如,要获得C:WinNT下所有包含“system”的文件夹和文件名,使用下面的语句:DimmyFiles()AsStringmyFiles=Directory.GetFileSystemEntries(CWinNT,*system*)若要列举C:WinNT下所有的文件夹和文件名,可以使用下面的语句:DimmyFiles()AsStringForEachmyFilesInDirectory.GetFileSystemEntries(C:WinNT)Console.WriteLine(myFiles)在输出窗口显示文件夹或文件

13、名。Next除了前面介绍的方法,Directory对象还有其他的一些方法,见表8.4,读者可查阅资料或在线帮助,了解它们的功能和用法。2DirectoryInfo类类创建DirectoryInfo对象的一个实例是通过调用它的构造函数来实现的,语法格式如下:Dim对象名AsNewDirectoryInfo(path)例如,下面语句创建了一个关于C盘根文件夹的DirectoryInfo对象:DimdiAsNewDirectoryInfo(C:)1)CreateSubDirectory方法CreateSubDirectory方法的功能是在当前实例所指定的文件夹下建立一个新文件夹,同时返回一个Dire

14、ctoryInfo对象来代表新子文件夹,调用的语法格式如下:对象名.CreateSubDirectory(path)例如,在C盘根文件夹中创建一个名为temp的子文件夹,示例如下:DimdiAsNewDirectoryInfo(C:)Di.CreateSubDirectory(temp)CreateSubDirectory方法还可以一次建立多级文件夹,示例如下:DimdiAsNewDirectoryInfo(C:)Di.CreateSubDirectory(dir1dir2dir3)2)GetFileSystemInfos方法GetFileSystemInfos方法的功能是返回一个FileSy

15、stemInfo对象数组,数组中的每个元素都是当前实例所表示的文件夹中的文件和子文件夹。调用的语法格式如下:对象名.GetFileSystemInfos(pattern)例如,获取C盘根文件夹中所有文件和子文件夹对象,示例如下:DimdiAsNewDirectoryInfo(C:)DimitemsInfo()AsFileSystemInfoItemsInfo=di.GetFileSystemInfos()GetFileSystemInfos方法还可以使用通配符,获得符合条件的对象。例如,要获得C:WinNT下所有包含“system”的文件夹和文件对象,使用下面的语句:DimdiAsNewDir

16、ectoryInfo(C:WinNT)DimitemsInfo()AsFileSystemInfoItemsInfo=di.GetFileSystemInfos(*system*)FileSystemInfo对象的常用属性见表8.5。如果要区分是文件还是文件夹,可以判断FileSystemInfo对象的Attributes属性是否为文件夹(即是否等于FileAttribute枚举的Directory值),是即为文件夹,否则就是文件。代码如下:DimdiAsNewDirectoryInfo(C:)DimiAsIntegerDimitemsInfo()AsFileSystemInfoitemsIn

17、fo=di.GetFileSystemInfos(*system*)i=1IfitemsInfo(i).AttributesAndFileAttributes.DirectoryThen是文件夹Else是文件。EndIf1File类类File类提供操作文件的方法,包括复制、移动、打开、关闭文件等方法。File类有些方法的使用与Directory类相同,表8.6列出了相同的方法。1)Create方法Create方法的功能是建立并打开一个新文件,同时返回指向该文件的Stream流对象。调用Create方法的语法格式如下:File.Create(path,bufferSize)例如,在C盘根文件夹中

18、创建一个名为myfile.dat的文件,返回一个名为ss的Stream流对象,方法如下:dimssAsStreamss=File.Create(C:myfile.dat)Create方法还可以在创建文件的同时指定文件的缓冲区大小。例如,在C盘根文件夹中创建一个名为myfile.dat的文件,并指定该文件的缓冲区为4096字节,示例如下:dimssAsStreamss=File.Create(C:myfile.dat,4096)在有些情况下,用File类的Create方法创建文件时会发生异常,表8.7列出了各种可能导致异常的类型。2)CreateText方法CreateText方法类似于Crea

19、te方法,它的功能是建立并打开一个新文本文件,同时返回指向该文件的StreamWriter流对象。StreamWriter对象类似于Stream对象,但它只能用于文本文件的读/写操作,而Stream对象可以用于文本文件和二进制文件的读/写操作。调用CreateText方法的语法格式如下:File.CreateText(path)例如,在C盘根文件夹中创建一个名为myfile.txt的文本文件,并返回一个名为sw的StreamWriter流对象,方法如下:dimswAsStreamWritersw=File.CreateText(C:myfile.txt)3)Copy方法Copy方法的功能是复制

20、一个文件到新的位置。调用它的语法格式如下:File.Copy(source,destination,overwrite)例如,将C盘根文件夹中名为myfile.txt的文件复制到D:dir1中,并更名为myfile_bak.txt。若目标文件已存在,则覆盖目标文件,方法如下:File.Copy(C:myfile.txt,D:dir1myfile_bak.txt,True)4)Move方法Move方法的功能是将指定的文件移动到新的位置,可以使用它来给文件改名。另外它允许在不同的磁盘上移动文件,这与Directory类的Move方法不同。调用它的语法格式如下:File.Move(source,de

21、stination)例如,将C盘根文件夹中名为myfile.txt的文件移动到D:dir1中,并更名为myfile_new.txt,方法如下:File.Move(C:myfile.txt,D:dir1myfile_new.txt)5)Delete方法Delete方法的功能是删除指定的文件,若文件被打开,将产生异常。调用它的语法格式如下:File.Delete(path)例如,删除C盘根文件夹中名为myfile.txt的文件,方法如下:File.Delete(C:myfile.txt)6)GetAttributes方法GetAttributes方法的功能是获得指定文件的属性,该方法返回一个Fil

22、eAttributes对象,该对象包含文件的所有属性,表8.8列出了文件的各种属性。调用GetAttributes方法的语法格式如下:File.GetAttributes(path)7)Open方法Open方法的功能是打开一个已经存在的文件,并返回一个指向该文件的Stream对象。调用它的语法格式如下:File.Open(path,FileMode,AccessMode,ShareMode)其中:(1)path,String类型,代表要打开文件的完整路径,绝对路径和相对路径均可。(2)FileMode,可选项,枚举类型,指定文件的打开方式,取值见表8.9。(3)AccessMode,可选项,枚

23、举类型,指定文件的访问权限,取值见表8.10。(4)ShareMode,可选项,枚举类型,指定文件的共享方式,取值见表8.11。例如,以只读方式打开C盘根文件夹中名为myfile.txt的文件,方法如下:dimfstreamAsStreamfstream=File.Open(“C:myfile.txt”,FileMode.Open,FileAccess.Read)上面的语句要求文件必须存在,若文件不存在,要求能创建该文件并以读/写方式打开C盘根文件夹中名为myfile.txt的文件,方法如下:dimfstreamAsStreamfstream=File.Open(C:myfile.txt,Fi

24、leMode.OpenOrCreate,FileAccess.ReadWrite)8)OpenRead方法OpenRead方法的功能是以读方式打开一个已经存在的文件,并返回一个指向该文件的Stream对象。若文件不存在或被打开,将产生异常。调用它的语法格式如下:File.OpenRead(path)OpenRead方法等价于用Open方法的Read访问权限方式打开一个已经存在的文件。例如,以读方式打开C盘根文件夹中名为myfile.txt的文件,方法如下:dimfstreamAsStreamfstream=File.OpenRead(C:myfile.txt)9)OpenWrite方法Open

25、Write方法的功能是以写方式打开一个已经存在的文件,并返回一个指向该文件的Stream对象。若文件不存在或被打开,将产生异常。调用它的语法格式如下:File.OpenWrite(path)OpenWrite方法等价于用Open方法的Write访问权限方式打开一个已经存在的文件。例如,以写方式打开C盘根文件夹中名为myfile.txt的文件,方法如下:dimfstreamAsStreamfstream=File.OpenWrite(C:myfile.txt)10)AppendText方法AppendText方法的功能是以追加方式打开一个文本文件,可以在这个文件后追加文本,并返回一个指向该文件的

26、StreamWriter对象。若文件不存在,将建立一个新文件并打开。调用它的语法格式如下:File.AppendText(path)例如,以追加方式打开C盘根文件夹中名为myfile.txt的文本文件,方法如下:dimfswAsStreamWriterfsw=File.AppendText(C:myfile.txt)11)OpenText方法OpenText方法的功能是以读方式打开一个已经存在的文本文件,并返回一个指向该文件的StreamReader对象。若文件不存在,将产生异常。调用它的语法格式如下:File.OpenText(path)例如,以读方式打开C盘根文件夹中名为myfile.tx

27、t的文本文件,方法如下:dimfsrAsStreamReaderfsr=File.OpenText(C:myfile.txt)2FileInfo类类创建FileInfo对象的一个实例是通过调用它的构造函数来实现的,其语法格式如下:Dim对象名AsNewFileInfo(path)例如,下面语句创建了一个关于C盘根文件夹中myFile.txt文件的FileInfo对象:DimfiAsNewFileInfo(C:myFile.txt)1)Length属性Length属性返回以字节为单位的文件大小,返回结果为Long类型。File类没有提供类似的属性或方法。2)CreationTime、LastAc

28、cessTime、LastWriteTime属性CreationTime属性返回文件建立的时间,LastAccessTime属性返回文件最后一次访问的时间,LastWriteTime属性返回文件最后一次修改的时间。3)Name、FullName、Extension属性Name属性返回文件名,FullName属性返回完整文件名(包括全路径),Extension属性返回文件的扩展名,3个属性值都是String类型。4)CopyTo和MoveTo方法这两个方法的功能分别是复制和移动当前FileInfo实例所代表的文件,类似于File类的Copy和Move方法。CopyTo方法会返回一个FileInf

29、o对象,代表目标文件。调用的语法格式如下:FileInfo对象名.CopyTo(path,force)FileInfo对象名.MoveTo(path)5)Directory方法Directory方法返回一个代表文件父目录的DirectoryInfo对象。6)DirectoryName方法DirectoryName方法返回文件父目录的名字字符串。VB.NET提供了DriveListBox、DirListBox和FileListBox三个控件,分别用于对驱动器、文件夹和文件的操作。这3个控件并不在标准的控件工具箱中,使用时需要先添加到工具箱中,在工具箱上单击鼠标右键,在弹出的菜单上选择【选择项】,

30、打开如图8.1所示。1DriveListBox控件控件DriveListBox控件主要用于磁盘驱动器的操作,使用该控件可以进行驱动器的切换和选择。DriveListBox控件的常用属性及事件如表8.12所示。2DirListBox控件控件DirListBox控件主要用于显示文件夹列表,它可以对所选择的文件夹进行操作。比如,选择路径和设置当前文件夹。DirListBox控件的常用属性及事件如表8.13所示。3FileListBox控件控件FileListBox控件主要用于显示文件列表,使用该控件可以对所选择的文件进行操作。FileListBox控件的常用属性及事件如表8.14所示。【例8.1】利

31、用DriveListBox、DirListBox、FileListBox这3种控件,使驱动器列表框、文件夹列表框和文件列表框保持联动,并能创建、删除、移动文件和文件夹。1界面设计界面设计设置一个驱动器列表框(DriveListBox)、一个文件夹列表框(DirListBox)、一个文件列表框(FileListBox)、2个GroupBox和多个标签(Label)、文本框及命令按钮(Button)。表8.15列出了其主要对象及属性。2程序代码设计程序代码设计为了使用File和Directory类所提供的方法,在模块中要先引入System.IO名称空间。引入名称空间System.IOImports

32、System.IO要使驱动器列表框、文件夹列表框和文件列表框保持联动,需分别编写DriveListBox1和DirListBox1的SelectedIndexChanged事件代码,相关程序如下:PrivateSubDriveListBox1_SelectedIndexChanged(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesDriveListBox1.SelectedIndexChangedDirListBox1.Path=DriveListBox1.DriveEndSubPrivateSubDirListBox1_

33、SelectedIndexChanged(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesDirListBox1.SelectedIndexChangedFileListBox1.Path=DirListBox1.PathEndSub要实现创建、删除、移动文件夹操作,需分别编写相应按钮的单击事件代码。创建文件夹程序:PrivateSubbtnNewDir_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesbtnNewDir.ClickDimspa

34、thAsStringspath=DirListBox1.PathIftxtNewDirName.Text=Orspath=ThenMsgBox(请输入要新建的文件夹名!)ElseDirectory.CreateDirectory(spath&txtNewDirName.Text)EndIfEndSub移动文件夹程序。删除文件夹程序:PrivateSubbtnDelDir_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesbtnDelDir.ClickDimspathAsStringDimflgAsMsgBoxRes

35、ultspath=DirListBox1.Pathflg=MsgBox(确实要删除&spath&文件夹吗?,MsgBoxStyle.YesNo)Ifflg=MsgBoxResult.YesThenDirectory.Delete(spath)EndIfEndSub对文件进行创建、删除、复制、移动操作,需分别编写相应按钮的单击事件代码。创建文件程序:PrivateSubbtnNewFile_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesbtnNewFile.ClickDimspathAsStringDimssAs

36、Streamspath=DirListBox1.PathIftxtNewFileName.Text=Orspath=ThenMsgBox(请输入要新建的文件名!)Elsess=File.Create(spath&txtNewFileName.Text)ss.Close()EndIfEndSub移动文件程序:PrivateSubbtnMoveFile_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesbtnMoveFile.ClickDimspathAsStringspath=DirListBox1.PathIfFi

37、leListBox1.FileName=ThenMsgBox(请先选择源文件!)ExitSubEndIfIftxtDestFileName.Text=ThenMsgBox(请输入完整的目标文件名!)ExitSubEndIfFile.Move(spath&FileListBox1.FileName,txtDestFileName.Text)EndSub复制文件程序:PrivateSubbtnCopyFile_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesbtnCopyFile.ClickDimspathAsStr

38、ingspath=DirListBox1.PathIfFileListBox1.FileName=ThenMsgBox(请先选择源文件!)ExitSubEndIfIftxtDestFileName.Text=ThenMsgBox(请输入完整的目标文件名!)ExitSubEndIfFile.Copy(spath&FileListBox1.FileName,txtDestFileName.Text)EndSub删除文件程序:PrivateSubbtnDelFile_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handlesbt

39、nDelFile.ClickDimspathAsStringDimflgAsMsgBoxResultspath=FileListBox1.FileNameflg=MsgBox(确实要删除&DirListBox1.Path&spath&文件吗?,_MsgBoxStyle.YesNo)Ifflg=MsgBoxResult.YesThenFile.Delete(DirListBox1.Path&spath)EndIfEndSub8.3.1 文件的种类文件的种类1顺序文件(顺序文件(Sequential File)顺序文件由一系列ASCII码字符格式的文本行组成,每行的长度可以不同,文件中的每个字符都

40、表示一个文本字符或文本格式设置序列(如换行符等)。顺序文件中的数据按顺序排列,数据的顺序与其在文件中出现的顺序相同。2随机文件(随机文件(Random Access File)随机文件是以随机方式存取的文件,由一组长度相等的记录组成。在随机文件中,记录包含一个或多个字段(Field),字段类型可以不同,每个字段的长度是固定的,使用前须事先定义好。3二进制文件(二进制文件(Binary File)一般把文件分为文本文件和二进制文件(顺序文件实际上是以二进制方式存储的)两大类。在VB.NET中,读写文件是通过流(Stream)对象来进行的。使用流对象读写文件的基本步骤如下:(1)建立一个流Stre

41、am对象。(2)基于创建的流Stream对象,建立流Reader对象读取文件内容。(3)基于创建的流Stream对象,建立流Writer对象向文件写入内容。1FileStream类类要进行文件的读写,首先可以使用FileStream类创建一个关于文件的Stream对象。用FileStream类创建FileStream流对象方法的语法格式如下:Dim对象名AsNewFileStream(path,FileMode,AccessMode,ShareMode)例如,创建一个基于C盘根文件夹的名为myfile.txt的文件的FileStream对象,以只读方式打开该文件,方法如下:Dimfstream

42、AsNewFileStream(C:myfile.txt,FileMode.Open,FileAccess.Read)1)Length属性Length属性获取文件的长度,以字节为单位,它是只读属性。2)Position属性Position属性获取或设置文件流的当前位置。FileStream没有指示已到文件尾的标志,可以通过比较Length和Position属性值是否相等来检查是否已到文件尾。3)SetLength方法SetLength方法的功能是设置文件的长度,调用的语法格式如下:FileStream.SetLength(NewLength)4)Seek方法FileStream类通过Seek方

43、法对文件进行随机访问,调用的语法格式如下:FileStream.Seek(Offset,Origin)5)Lock方法Lock方法可锁定文件,防止其他进程访问文件的全部或部分,调用的语法格式如下:FileStream.Lock(Position,Length)6)UnLock方法UnLock方法可解锁用Lock方法锁定的文件,调用的语法格式如下:FileStream.UnLock(Position,Length)2StreamReader类类要进行文本文件的读操作,需要创建一个关于文件的StreamReader对象。用StreamReader类的构造方法创建StreamReader对象的方法的

44、语法格式如下:Dim对象名AsNewStreamReader(FS,Encoding,Buffersize)Dim对象名AsNewStreamReader(Path,Encoding,Buffersize)例如,创建一个可以读取C盘根文件夹中名为myfile.txt的文件内容的StreamReader对象,需先建立关于该文件的FileStream对象,方法如下:DimfstreamAsNewFileStream(C:myfile.txt,FileMode.Open,FileAccess.Read)DimsrAsStreamReadersr=NewStreamReader(fstream)也可以

45、直接建立和文件关联的StreamReader对象。例如,直接创建一个可以读取C盘根文件夹中名为myfile.txt的文件内容的StreamReader对象,方法如下:DimsrAsNewStreamReader(C:myfile.txt)StreamReader类还有如下一些常用方法。1)ReadLine方法ReadLine方法从文件流中读取一行字符,并返回读取的字符串,若到达文件尾,则返回Nothing。ReadLine方法无参数。例如,创建一个可以读取C盘根文件夹中名为myfile.txt的文件内容的StreamReader对象,需先建立关于该文件的FileStream对象,方法如下:Di

46、mfstreamAsNewFileStream(C:myfile.txt,FileMode.Open,FileAccess.Read)DimsrAsStreamReadersr=NewStreamReader(fstream)DimstrLineAsStringDimstrAllAsStringstrLine=sr.ReadLine()读取文件的第一行strAll=sr.ReadToEnd()读取文件的全部内容2)ReadToEnd方法ReadToEnd方法读取从文件流当前位置到末尾的全部字符,并返回读取的字符串。ReadToEnd方法无参数。3)Read方法Read方法从文件当前位置读取下一

47、个字符或下一组字符,若成功,则返回大于0的整数;若到达文件尾,返回0,若试图读文件尾后的下一个字符,返回-1。调用的语法格式如下:StreamReader.Read(Chars,Startindex,Count)3StreamWriter类类要进行文本文件的写操作,需要创建一个关于文件的StreamWriter对象。用StreamWriter类创建StreamWriter流对象的方法的语法格式如下:Dim对象名AsNewStreamWriter(FS,Encoding,Buffersize)Dim对象名AsNewStreamWriter(Path,Append,Encoding,Buffers

48、ize)例如,创建一个可以向C盘根文件夹中名为myfile.txt的文本文件写入内容的StreamWriter对象,使用默认UTF-8编码格式,方法如下:DimfstreamAsNewFileStream(C:myfile.txt,FileMode.Open,FileAccess.ReadWrite)DimswAsStreamWritersw=NewStreamWriter(fstream)也可以直接建立和文件关联的StreamWriter对象。例如,直接创建一个可以向C盘根文件夹中名为myfile.txt的文本文件写入内容的StreamWriter对象,使用默认的UTF-8编码格式,方法如下

49、:DimswAsNewStreamWriter(C:myfile.txt)StreamWriter类还有如下一些常用属性和方法:1)NewLine属性NewLine属性获取或设置StreamWriter对象所使用的行结束符,默认为回车换行符。2)AutoFlush属性AutoFlush属性默认为True,在调用Write或WriteLine方法后自动将缓冲区中数据写入文件;若为False,需要调用Flush方法才能将数据写入。3)Encoding属性Encoding属性获取StreamWriter对象所使用的字符编码方式。4)WriteLine方法WriteLine方法将字符和行结束符写入缓冲

50、区。调用的语法格式如下:StreamWriter.WriteLine(str)5)Write方法Write方法将字符数组写入缓冲区。调用的语法格式如下:StreamWriter.Write(Chars,Startindex,Count)6)Flush方法Flush方法将缓冲区数据写入文件。Flush方法无参数。7)Close方法Close方法关闭当前的StreamWriter实例并释放关联的资源,在关闭之前,将缓冲区数据写入文件。Close方法无参数。1BinaryReader类类BinaryReader对象实现从二进制文件读取数据。要用BinaryReader对象提供的方法,需要先创建该对象

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(VB第8章文件操作课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|