内容正文:
编写说明:河北省普通高等学校对口招生考试计算机类《算法与程序设计考点双析卷》,依据《河北省普通高等学校对口招生计算机类专业考试考试大纲》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷。助力师生构建 “讲练结合” 的学习闭环,适用于高考复习教学。
本专辑第63、第64卷精准对标河北省考纲,知识模块(七)C#的文件访问:
1. 掌握文件、文件流FileStream的概念;
2. 掌握FileStream对文本文件和二进制文件的读写。
河北省对口招生考试 计算机类
《算法与程序设计》考点双析卷 第64卷
C#文件操作(3) 学生练习卷
时间:45分钟 总分:100分
班级_______ 姓名_______ 学号_______ 成绩_______
一、单项选择题(本大题共10小题,每题3分,共30分)
1.在C#中,BinaryWriter类用于( )
A.读取二进制文件 B.写入二进制文件
C.读取文本文件 D.写入文本文件
【答案】B
【详解】BinaryWriter类用于将基本数据类型写入二进制流。
2.以下关于 StreamReader 和 StreamWriter 类的说法,正确的是( )
A.StreamReader 类只能用于读取文本文件,不能读取二进制文件
B.StreamWriter 类可以直接写入二进制数据
C.StreamReader 类的构造函数只能接收 FileStream 对象
D.StreamWriter 类在写入数据时不需要调用 Flush 方法
【答案】A
【详解】StreamReader 类是专门用于读取文本数据的,它以字符为单位进行操作,所以只能用于读取文本文件,不能读取二进制文件。
3.使用StreamWriter类时,用于将缓冲区的内容写入文件的方法是( )
A.ReadLine() B.WriteLine() C.Flush() D.Close()
【答案】C
【详解】Flush()方法用于清空缓冲区,将缓冲区中的内容写入文件。
4.创建StreamWriter时, 参数可以控制是否追加内容。( )
A.FileMode B.append参数 C.FileAccess D.FileShare
【答案】B
【详解】StreamWriter构造函数有一个bool append参数,true表示追加到文件末尾。
5.StreamReader主要用于( )
A.二进制文件读取 B.文本文件读取
C.图像文件读取 D.数据库读取
【答案】B
【详解】StreamReader是专门为读取文本文件设计的类,可以正确处理各种文本编码。
6.在C#中,FileStream类用于读写文件时,以下 构造函数参数用于指定文件的打开模式。( )
A.FileAccess B.FileMode C.FileShare D.FileStream
【答案】B
【详解】FileMode参数用于指定文件的打开模式,例如FileMode.Create、FileMode.Open等。
7.使用FileStream类写入文件时,以下FileAccess枚举值表示只写模式的是( )
A.FileAccess.Read B.FileAccess.Write
C.FileAccess.ReadWrite D.FileAccess.Append
【答案】B
【详解】Read 方法用于从当前流中读取指定数量的字节到字节数组中,它会尝试填充指定的字节数组,返回实际读取的字节数。
8.在 C# 中,使用 FileStream 类读取文件时, 方法用于从流中读取指定数量的字节到字节数组中。( )
A.ReadByte B.Read C.Write D.Seek
【答案】B
【详解】Read 方法用于从当前流中读取指定数量的字节到字节数组中,它会尝试填充指定的字节数组,返回实际读取的字节数。
9.二进制文件和文本文件的主要区别在于( )
A.二进制文件只能存储数字,文本文件只能存储文字
B.二进制文件以二进制形式存储数据,文本文件以字符编码形式存储数据
C.二进制文件比文本文件占用空间小
D.文本文件比二进制文件更安全
【答案】B
【详解】二进制文件以二进制形式直接存储数据,计算机可以直接识别和处理,而文本文件则是按照特定的字符编码(如 ASCII、UTF - 8 等)将字符转换为对应的编码值进行存储。二进制文件可以存储各种类型的数据,不只是数字;文件占用空间大小与具体内容有关,不能简单说二进制文件比文本文件小;安全性也不能简单对比。
10.StreamWriter对象的下列方法,可以向文本文件写入一行带回车和换行的文本的是( )
A.WriteLine() B.Write() C.WritetoEnd() D.Read()
【答案】A
【详解】WriteLine()用于向文本写入一行文本。
二、判断题(本大题共10小题,每题2分,共20分)
11.任何文件操作完成后,都必须关闭流对象。( )
【答案】正确
【详解】防止资源泄漏,确保文件正确读写完成。
12.处理大文件,FileStream 比 StreamReader 更占内存。( )
【答案】错误
【详解】StreamReader 有缓冲等,合理使用下,处理大文件时 FileStream 若不合理操作也可能占内存,但通常说 StreamReader 按字符处理,在文本处理场景相对更适配,不能简单说 FileStream 更占内存,该说法错误。
13.Directory 类的 Move 方法可以用来删除文件夹。( )
【答案】错误
【详解】Directory 类的 Move 方法是用于移动文件夹,删除文件夹一般用 Directory 类的 Delete 方法,所以该说法错误。
14.StreamReader 的 Peek 方法可读取字符且不移动流位置。( )
【答案】正确
【详解】Peek 查看下一个字符,流位置不变。
15.FileMode.OpenOrCreate 始终会创建新文件。( )
【答案】错误
【详解】文件存在则打开,不存在才创建。
16.使用 File 类的 Copy 方法可以实现文件的复制操作。( )
【答案】正确
【详解】在C#中,File 类提供了 Copy 静态方法,能够实现文件的复制功能,所以该说法正确。
17.FileInfo 类的 Copy 方法可复制文件到指定位置。( )
【答案】正确
【详解】FileInfo 实例化后,调 Copy 方法可复制文件。
18.写文件用 StreamWriter 时,true 参数代表覆盖写入,false 代表追加。( )
【答案】错误
【详解】true 是追加,false 是覆盖。
19.File 类是静态类,调用方法无需创建对象。( )
【答案】正确
【详解】File 类成员多为静态,直接用类名调用方法。
20.FileMode.Create创建新文件或打开现有文件进行写入操作时,如果文件已存在,它将被替换为空文件。如果文件不存在,它创建。( )
【答案】正确
三、填空题(本大题共10小题,每题5分,共50分)
21.C#中,File 类里用于创建文件的方法是______。
【答案】Create
【详解】File 类的 Create 静态方法,可用于在指定路径创建一个新文件,若文件已存在则会覆盖(不同重载有不同处理逻辑 )。
22.读取二进制文件,常用的类是____。
【答案】BinaryReader
【详解】BinaryReader 用于以二进制方式读取文件内容,需配合 FileStream 使用(FileStream 负责打开文件并提供字节流 )。示例:
using (FileStream fs = new FileStream("test.bin", FileMode.Open))
using (BinaryReader br = new BinaryReader(fs))
{ byte data = br.ReadByte(); // 读取一个字节
int intData = br.ReadInt32(); // 读取一个 int 类型数据(4 个字节 )
}
23.用 StreamWriter 追加写入文件,构造方法参数应包含____。
【答案】true
【详解】StreamWriter 用于以字符流形式写入文本文件,其构造方法有多种重载。当需要追加内容而不是覆盖原有内容时,需传入 true 作为参数(第二个参数,第一个参数是文件路径 ),示例:
// 追加模式写入,若文件不存在则创建
using (StreamWriter sw = new StreamWriter("test.txt", true))
{
sw.WriteLine("追加的内容");
}
若不传入 true (或传入 false ),则会覆盖文件原有内容。
24.在C#中,StreamWriter 类里用于向文本文件写入一行带回车和换行文本的方法是______。
【答案】WriteLine
【详解】StreamWriter 的 WriteLine 方法会在写入内容后自动添加回车和换行符,实现写入一行文本并换行的效果。
25.要获取文件的创建时间,可使用____类的____方法(或____的____属性 )。
【答案】 File GetCreationTime FileInfo CreationTime
【详解】在 C# 中,File 是静态类,提供了一系列静态方法操作文件和目录,GetCreationTime 方法接收文件路径参数,返回 DateTime 类型的文件创建时间,示例:DateTime createTime = File.GetCreationTime("test.txt");。
FileInfo 类用于获取文件的详细信息,需先实例化(如 FileInfo fileInfo = new FileInfo("test.txt"); ),然后通过其 CreationTime 属性(属性类型为 DateTime )获取创建时间,示例:DateTime createTime = fileInfo.CreationTime;二者功能类似,File 适合简单、一次性获取信息场景;FileInfo 适合多次访问文件属性,或结合其他文件信息(如大小、扩展名等 )一起处理的场景。
26.使用FileStream类可以以_________方式操作文件,例如读取或写入。
【答案】二进制
27.使用_________类可以写入文本文件的内容。
【答案】StreamWriter
28.使用_________类可以读取文本文件的内容。
【答案】StreamReader
29.在 C# 中,StreamReader类提供了____方法,可用于按行读取文本文件的内容。
【答案】ReadLine
【详解】ReadLine()是StreamReader类专门用于读取文本行的方法,每次调用会返回文件中的一行内容,直到文件末尾返回null,非常适合逐行处理文本文件,比如读取日志文件中的每一条记录。
30.StreamReader对象里,______方法可一次性读取文本流全部内容,返回包含所有字符的字符串。
【答案】ReadToEnd
【详解】适合小文本文件读取,大文件用ReadLine逐行读更省内存,ReadToEnd会把流内容全读入字符串,要注意内存占用。
试卷第6页,共6页
试卷第5页,共6页
学科网(北京)股份有限公司
$
编写说明:河北省普通高等学校对口招生考试计算机类《算法与程序设计考点双析卷》,依据《河北省普通高等学校对口招生计算机类专业考试考试大纲》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷。助力师生构建 “讲练结合” 的学习闭环,适用于高考复习教学。
本专辑第63、第64卷精准对标河北省考纲,知识模块(七)C#的文件访问:
1. 掌握文件、文件流FileStream的概念;
2. 掌握FileStream对文本文件和二进制文件的读写。
河北省对口招生考试 计算机类
《算法与程序设计》考点双析卷 第64卷
C#文件操作(3) 学生练习卷
时间:45分钟 总分:100分
班级_______ 姓名_______ 学号_______ 成绩_______
一、单项选择题(本大题共10小题,每题3分,共30分)
1.在C#中,BinaryWriter类用于( )
A.读取二进制文件 B.写入二进制文件
C.读取文本文件 D.写入文本文件
2.以下关于 StreamReader 和 StreamWriter 类的说法,正确的是( )
A.StreamReader 类只能用于读取文本文件,不能读取二进制文件
B.StreamWriter 类可以直接写入二进制数据
C.StreamReader 类的构造函数只能接收 FileStream 对象
D.StreamWriter 类在写入数据时不需要调用 Flush 方法
3.使用StreamWriter类时,用于将缓冲区的内容写入文件的方法是( )
A.ReadLine() B.WriteLine() C.Flush() D.Close()
4.创建StreamWriter时, 参数可以控制是否追加内容。( )
A.FileMode B.append参数 C.FileAccess D.FileShare
5.StreamReader主要用于( )
A.二进制文件读取 B.文本文件读取
C.图像文件读取 D.数据库读取
6.在C#中,FileStream类用于读写文件时,以下 构造函数参数用于指定文件的打开模式。( )
A.FileAccess B.FileMode C.FileShare D.FileStream
7.使用FileStream类写入文件时,以下FileAccess枚举值表示只写模式的是( )
A.FileAccess.Read B.FileAccess.Write
C.FileAccess.ReadWrite D.FileAccess.Append
8.在 C# 中,使用 FileStream 类读取文件时, 方法用于从流中读取指定数量的字节到字节数组中。( )
A.ReadByte B.Read C.Write D.Seek
9.二进制文件和文本文件的主要区别在于( )
A.二进制文件只能存储数字,文本文件只能存储文字
B.二进制文件以二进制形式存储数据,文本文件以字符编码形式存储数据
C.二进制文件比文本文件占用空间小
D.文本文件比二进制文件更安全
10.StreamWriter对象的下列方法,可以向文本文件写入一行带回车和换行的文本的是( )
A.WriteLine() B.Write() C.WritetoEnd() D.Read()
二、判断题(本大题共10小题,每题2分,共20分)
11.任何文件操作完成后,都必须关闭流对象。( )
12.处理大文件,FileStream 比 StreamReader 更占内存。( )
13.Directory 类的 Move 方法可以用来删除文件夹。( )
14.StreamReader 的 Peek 方法可读取字符且不移动流位置。( )
15.FileMode.OpenOrCreate 始终会创建新文件。( )
16.使用 File 类的 Copy 方法可以实现文件的复制操作。( )
17.FileInfo 类的 Copy 方法可复制文件到指定位置。( )
18.写文件用 StreamWriter 时,true 参数代表覆盖写入,false 代表追加。( )
19.File 类是静态类,调用方法无需创建对象。( )
20.FileMode.Create创建新文件或打开现有文件进行写入操作时,如果文件已存在,它将被替换为空文件。如果文件不存在,它创建。( )
三、填空题(本大题共10小题,每题5分,共50分)
21.C#中,File 类里用于创建文件的方法是______。
22.读取二进制文件,常用的类是____。
23.用 StreamWriter 追加写入文件,构造方法参数应包含____。
24.在C#中,StreamWriter 类里用于向文本文件写入一行带回车和换行文本的方法是______。
25.要获取文件的创建时间,可使用____类的____方法(或____的____属性 )。
26.使用FileStream类可以以_________方式操作文件,例如读取或写入。
27.使用_________类可以写入文本文件的内容。
28.使用_________类可以读取文本文件的内容。
29.在 C# 中,StreamReader类提供了____方法,可用于按行读取文本文件的内容。
30.StreamReader对象里,______方法可一次性读取文本流全部内容,返回包含所有字符的字符串。
试卷第6页,共6页
试卷第5页,共6页
学科网(北京)股份有限公司
$