VB文件处理综合试题及答案_第1页
VB文件处理综合试题及答案_第2页
VB文件处理综合试题及答案_第3页
VB文件处理综合试题及答案_第4页
VB文件处理综合试题及答案_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

VB文件处理综合试题及答案考试时间:______分钟总分:______分姓名:______一、选择题(每题2分,共20分)1.在VB中,用于操作文件系统最核心的对象是?A.TextStreamB.DriveC.FSO(FileSystemObject)D.Stream2.以下哪个语句用于创建一个FileSystemObject实例?A.Setfso=NewTextStreamB.Setfso=NewDriveC.Setfso=NewFSOD.Setfso=NewStream3.当使用`FileSystemObject`的`GetFile`方法时,如果指定的文件不存在,该方法的执行结果会是?A.自动创建该文件B.返回一个空的对象集合C.抛出错误(运行时错误)D.返回一个指向临时文件的引用4.在VB中,向文本文件中追加内容而不覆盖原有内容,应该使用哪种模式打开文件?A."Input"B."Output"C."Append"D."Random"5.以下哪个方法用于在TextStream对象指向的文本文件末尾添加一行内容?A.WriteB.WriteLineC.ReadD.ReadLine6.使用TextStream对象的`Write`方法写入数据时,字符串中的回车换行符(vbCrLf)会被自动转换并写入文件吗?A.是,自动转换B.否,不会转换C.取决于文件的打开模式D.只在WriteLine方法中会转换7.如果需要读取TextStream对象指向的文本文件中的所有内容,可以组合使用哪两个方法?A.ReadLine和SeekB.ReadAll和CloseC.GetLine和WriteD.Open和Read8.以下哪个属性用于获取或设置文件的只读状态?A.DateB.SizeC.TypeD.ReadOnly9.在VB中,要删除一个存在的文件,应该使用FileSystemObject的哪个方法?A.DeleteFileB.DeleteFolderC.MoveFileD.Rename10.使用`FileSystemObject`的`GetFolder`方法获取一个文件夹对象后,要列出该文件夹下所有子文件夹的名称,应该使用该对象的哪个方法?A.FilesB.SubFoldersC.ParentFolderD.Name二、填空题(每空2分,共20分)1.在VB中,要操作单个文件或文件夹,通常需要首先创建一个________对象的实例。2.使用`FileSystemObject`的`CreateTextFile`方法可以创建一个新的文本文件,如果文件已存在,该方法会________(填“覆盖”或“保留”)原有文件。3.要使用TextStream对象读取文本文件,必须先使用________方法打开该文件,并指定一个文件号或变量。4.TextStream对象的`Write`方法用于向文件写入一个字符串,但不会自动在字符串末尾添加________。5.如果TextStream对象的当前指针位置不是文件开头,可以使用________方法将其移动到文件的指定位置。6.要获取当前程序运行目录的路径,可以使用`FileSystemObject`的________属性。7.使用`FileSystemObject`的`MoveFile`方法可以将文件从一个位置移动到另一个位置,同时会________(填“删除”或“保留”)原位置的文件。8.文件系统对象(FSO)提供了一种访问和管理计算机上文件和文件夹的________(填“图形化”或“编程”)方法。9.当使用`ForOutput`模式打开一个已存在的文本文件时,原有的文件内容会被________。10.要检查一个指定的路径是否存在,可以结合使用`FileSystemObject`的`FolderExists`方法和`FileExists`方法。三、读程序写结果题(每题5分,共10分)1.阅读以下VB代码片段:```vbDimfso,fileObjSetfso=NewFSOSetfileObj=fso.GetFile("C:\MyDocuments\test.txt")fileObj.Size=0'清空文件内容DimtsSetts=fileObj.OpenAsTextStream(ForWrite,True)ts.WriteLine("Hello")ts.WriteLine("World")ts.CloseSetts=NothingSetfileObj=NothingSetfso=Nothing```假设`C:\MyDocuments\test.txt`文件在执行此代码前是存在的,且大小不为0。请写出执行完上述代码后,文件`C:\MyDocuments\test.txt`的内容。2.阅读以下VB代码片段:```vbDimfso,folderObj,subFolderObjSetfso=NewFSOSetfolderObj=fso.GetFolder("C:\MyDocuments\Projects")DimfolderCount=0DimfileCount=0ForEachsubFolderObjInfolderObj.SubFoldersfolderCount=folderCount+1NextForEachsubFolderObjInfolderObj.FilesfileCount=fileCount+1NextMsgBox"Folders:"&folderCount&",Files:"&fileCountSetsubFolderObj=NothingSetfolderObj=NothingSetfso=Nothing```假设`C:\MyDocuments\Projects`文件夹在执行此代码前存在,其中包含2个子文件夹(例如"ProjectA","ProjectB")和5个普通文件。请写出执行完上述代码后,弹出的消息框中显示的内容。四、程序填空题(每空2分,共20分)阅读以下VB程序片段,根据程序功能,在空格处填入合适的内容。```vbDimfso,sourceFileObj,destFileObjSetfso=NewFSO'填空1:创建一个TextStream对象变量ts,用于读取源文件Setts=New________'填空2:设置sourceFileObj变量,使其指向当前目录下的"source.txt"文件SetsourceFileObj=fso.GetFile(______)'填空3:使用ForRead模式打开sourceFileObj,并将结果赋给tsSetts=sourceFileObj.OpenAsTextStream(______)DimlineContentAsStringDimdestFilePathAsStringdestFilePath=fso.GetParentFolderName(sourceFileObj.Path)&"\"&"copied_"&sourceFileObj.Name'填空4:创建一个TextStream对象变量destTs,用于写入目标文件,路径为destFilePathSetdestTs=New________.OpenAsTextStream(______,________)DoWhile________'填空5:循环条件,判断ts是否还有更多行可读lineContent=ts.ReadLineIflineContent<>""ThendestTs.WriteLine(lineContent)'将读取的行写入目标文件EndIfLoop'填空6:关闭源文件读取对象tsts.Close'填空7:关闭目标文件写入对象destTsdestTs.CloseSetts=NothingSetdestTs=NothingSetsourceFileObj=NothingSetdestFileObj=NothingSetfso=Nothing```五、编程题(共30分)编写一段完整的VB(使用FileSystemObject)程序代码,实现以下功能:1.在当前程序运行目录下查找所有扩展名为".txt"的文本文件。2.对于找到的每个文本文件,统计其中包含的英文字符(不区分大小写)的总数,并将每个文件的名称及其对应的英文字符总数保存到一个新的文本文件"word_count_summary.txt"中。该结果文件应创建在当前程序运行目录下,如果已存在则覆盖。3.在统计过程中,如果遇到文件无法读取的情况(例如权限不足、文件正在被使用等),应跳过该文件,并在控制台(或消息框)中提示无法读取该文件(例如"Cannotreadfile:somefile.txt")。4.程序结束后,输出找到的总文本文件数量。注意:请确保代码结构清晰,包含必要的错误处理,并遵循良好的编程规范。试卷答案一、选择题1.C解析:FileSystemObject(FSO)是VB中专门用于操作文件系统(文件和文件夹)的核心对象。2.C解析:`NewFSO`是创建FileSystemObject实例的标准语法,使用Set语句进行赋值。3.C解析:`GetFile`方法在找不到指定文件时会抛出“文件未找到”的运行时错误。4.C解析:`ForAppend`模式打开文件时,写操作会在文件末尾追加内容,不会覆盖原有内容。5.B解析:`WriteLine`方法在写入指定字符串后,会自动添加一个回车换行符,适用于添加新行。6.B解析:`Write`方法只写入指定的字符串,不会自动转换字符串中的vbCrLf字符。7.B解析:`ReadAll`方法可以直接读取TextStream对象指向的整个文件内容,`Close`用于结束文件操作。8.D解析:`ReadOnly`属性用于设置或获取文件的只读状态(布尔值)。9.A解析:`DeleteFile`方法用于删除指定的文件。`DeleteFolder`删除文件夹,`MoveFile`移动文件,`Rename`重命名。10.B解析:`SubFolders`属性返回一个包含文件夹对象集合,可以用于遍历子文件夹。二、填空题1.FSO(FileSystemObject)解析:操作文件系统(文件、文件夹)的前提是创建一个FileSystemObject实例。2.覆盖解析:`CreateTextFile`方法的默认行为是在指定路径创建新文件,如果文件已存在则会被覆盖。3.OpenAsTextStream解析:在使用TextStream对象进行读写之前,必须先使用`OpenAsTextStream`方法打开目标文件,并传入模式参数等。4.vbCrLf解析:`Write`方法只输出传入的字符串,不会自动在字符串末尾添加换行符,`WriteLine`才会。5.Seek解析:`Seek`方法用于移动TextStream对象的内部文件指针到指定的字节位置。6.Path解析:`Path`属性返回FileSystemObject所引用的文件或文件夹的完整路径。7.保留解析:`MoveFile`方法将文件从一个位置移动到另一个位置,源位置的文件在移动后仍然存在。8.编程解析:FSO提供的是通过编程方式(代码)来访问和管理文件系统,而不是通过图形界面。9.覆盖解析:使用`ForOutput`模式打开一个已存在的文本文件时,如果文件句柄被成功打开,原有内容会被清空(覆盖)。10.And解析:要检查路径是否存在,应同时检查其作为文件夹和文件是否存在,通常使用`And`连接两个条件(`FolderExists(path)AndNotFileExists(path)`或类似逻辑)。三、读程序写结果题1.HelloWorld解析:代码首先清空`test.txt`文件内容(`Size=0`),然后创建TextStream对象以写入模式打开。`WriteLine("Hello")`写入"Hello"并添加换行符,`WriteLine("World")`写入"World"并添加换行符,最后关闭文件。因此文件内容为两行。2.Folders:2,Files:5解析:代码分别遍历`Projects`文件夹的`SubFolders`集合和`Files`集合。由于假设有2个子文件夹和5个文件,计数器`folderCount`会被增加到2,`fileCount`会被增加到5。消息框显示的字符串为"Folders:"&2&",Files:"&5。四、程序填空题1.TextStream解析:需要创建一个TextStream对象变量来读取源文件的内容。2."source.txt"解析:`GetFile`方法需要传入文件的完整路径或相对路径。此处假设文件在当前目录下。3.ForRead,True解析:`OpenAsTextStream`的第一个参数指定打开模式为"ForRead"(读取),第二个参数`True`表示如果文件存在则清空内容(虽然这里源文件不清空,但保留模式以备后续操作),如果文件不存在则抛出错误。4.TextStream,"ForWrite",True解析:需要创建一个TextStream对象变量`destTs`,用于写入目标文件。使用`OpenAsTextStream`,模式设为"ForWrite"(写入),第二个参数`True`表示追加模式(虽然路径不同,但按题目要求写),第三个参数指定编码(通常用`-1`表示使用系统默认编码)。5.Notts.AtEndOfStream解析:`AtEndOfStream`属性在TextStream对象指向文件末尾时返回`True`。循环应继续直到到达文件末尾。`Not`取反,确保循环在还有内容可读时执行。6.ts解析:此处需要关闭之前打开用于读取的TextStream对象`ts`。7.destTs解析:此处需要关闭之前打开用于写入的TextStream对象`destTs`。五、编程题(以下为VB代码示例)```vbDimfso,currentDir,txtFile,summaryTsSetfso=NewFSOSetcurrentDir=fso.GetFolder(".")DimfilePath,fileName,fileNameWithoutExt,line,totalCount,fileCountfileCount=0totalCount=0'尝试创建/打开结果文件OnErrorResumeNext'开始错误处理,忽略错误继续执行SetsummaryTs=currentDir.Files("word_count_summary.txt").OpenAsTextStream(ForWrite,True)IfsummaryTsIsNothingThen'如果文件不存在,OpenAsTextStream会失败,此时summaryTs为NothingSetsummaryTs=currentDir.CreateTextFile("word_count_summary.txt")'创建新文件summaryTs.Close'关闭创建对象,打开新创建的文件SetsummaryTs=currentDir.Files("word_count_summary.txt").OpenAsTextStream(ForWrite,False)'重新打开以写入EndIfOnErrorGoTo0'结束错误处理ForEachtxtFileIncurrentDir.FilesIfLCase(Right(txtFile.Name,4))=".txt"Then'检查文件扩展名是否为.txtfileCount=fileCount+1fileName=txtFile.NamefileNameWithoutExt=Left(fileName,Len(fileName)-4)totalCount=0'重置当前文件的字符计数'尝试读取并统计字符OnErrorResumeNext'开始错误处理Setts=txtFile.OpenAsTextStream(ForRead)IftsIsNotNothingThenDoWhileNotts.AtEndOfStreamline=ts.ReadLineIfline<>""Then'忽略空行For

温馨提示

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

评论

0/150

提交评论