VB.NET程序设计-第10章 文件读写与管理

合集下载

《Visual Basic NET程序设计》课件第10章

《Visual Basic NET程序设计》课件第10章
【技能目标】利用VB .NET中“安装和部署项目”功能 生成WebService服务程序的安装程序。
第10章 安装和部署项目 【操作要点与步骤】 利用VB .NET中“安装和部署项目”功能生成
WebService服务程序的安装程序,其具体操作步骤如下: (1) 在中打开案例9-1中“WebService服务程序”
第10章 安装和部署项目 (2) 在“新建项目”对话框的“项目类型”中选择“安
装和部署项目”,在“模板”列表中选择“Web安装项目”, 在“名称”文件框中输入项目名称为“WebServiceSetup”, 在“位置”文本框中自动填上已打开的项目文件 translateWebService.vbproj所在的路径: “C:\Inetpub\wwwroot\translateWebService”。单击“确定” 按钮,系统将自动创建与安装程序有关的源文件。
第10章 安装和部署项目
知识点10-1-2 制作可执行的安装程序 利用集成开发环境自带的工具可以把安装所需的所有文件打包成一
个可执行文件,然后利用该可执行文件就可以将应用程序项目安装和部 署到其他计算机上。这是目前比较常用的方法,本章的案例都是采用这 种方法来制作应用程序项目的安装程序的。可执行的安装程序制作出来 以后,运行这个可执行的安装程序进行应用程序项目的安装和部署就非 常简单了。
制作可执行的安装程序可以用系统编程软件自带的工具来完成,也 可以用第三方厂家生产的专门打包工具,如最常见的Install Shield、 Setup Factory等,这些专门打包工具很适于大批量制作安装文件。
第10章 安装和部署项目
知识点10-1-3 Windows Installer服务 Windows 2000系统比Window 95/98操作系统的管理和使

VB程序设计 第10章 文件

VB程序设计 第10章 文件

读取数据 Private Sub Command2_Click() Open "d:\data\student.txt" For Input As #1 Do While Not EOF(1) Input #1, no, stuName, male, phone Picture1.Print no; Tab(5); stuName; Tab(12); male; Tab(16); phone Loop Close #1 End Sub
添加数据 Private Sub Command1_Click() Open “d:\data\student.txt” For Append As #1 Write #1, Text1.Text, Text2.Text, Combo1.Text, Text3.Text Close #1 MsgBox "添加成功" Text1.Text = "" Text2.Text = "" Text3.Text = "" End Sub
Visual Basic 程序设计
徐州工程学院
10.3 文件的操作
用Write # 语句和Print # 语句写入的数据文件比较
说明:
Write:数据项之间逗号分隔,字符串用双引号括起来 Print:无逗号分隔、双引号,按区(每区14个字符宽)分隔

Visual Basic 程序设计
徐州工程学院
年龄 ……
年龄
优点:存取速度快,容易更新; 缺点:占用空间大,设计程序较复杂,二进制方式存储,不方便查看
Visual Basic 程序设计
徐州工程学院
10.2 文件的分类
二进制文件:字节的集合,直接把二进制码值存放在文件中。 除了没有数据类型或者记录长度的含义外,它与随机文件很类似。

vb-10文件

vb-10文件

数据项
二、文件种类
根据数据的使用 数据文件和程序文件 根据数据的编码方式 ASCII文件和二进制文件 根据数据的访问模式 顺序存取文件和随机存取文件、二进制存取文件
1.顺序文件
顺序文件(Sequential File)是普通的文本文件。顺 序文件中的记录按顺序一个接一个地排列。读写文件存取 记录时,都必须按记录顺序逐个进行。一行一条记录(一 项数据),记录可长可短,以“换行”字符为分隔符号。
例 编程将一文本文件的内容读到文本框
假定文本框名称为txtTest,文件名为MYFILE.TXT。可 以通过下面三种方法来实现。 方法1:一行一行读 txtTest.Text = "" Open "MYFILE.TXT" For Input As #1 Do While Not EOF(1) Line Input #1, InputData txtTest.Text = txtTest.Text +InputData+vbCrLf
Private Sub Form_Activate() Open "d:\file.dat" For Random As #1_ Len = Len(member) recordnum = LOF(1) / Len(member) End Sub
Private Sub cmdAdd_Click() With member .m_ID = txtID .m_Name = txtName .m_Dep = txtDep .m_Pay = Val(txtPay) End With recordnum = recordnum + 1 Put #1, recordnum, member CurrentID = recordnum txtID = "" txtName = "" txtDep = "" txtPay = "" txtID.SetFocus End Sub

第10章 文件

第10章 文件

结束
Private Sub File1_DblClick() f1 = Shell(text1.text, 1) End Sub Private Sub Form_Load() Combo1.AddItem "*.exe" Combo1.AddItem "*.com" Combo1.AddItem "*.bat" Combo1.Text = Combo1.List(0) Combo1_Click End Sub
结束
说明: 说明:
当驱动器列表框中改变驱动器时,就会触发 Change事件,执行Drive1_Change过程,在 过程执行时就把刚选定的驱动器目录结构赋 给目录列表框Dir1的Path属性,因此在目录 列表框就“同步”显示选定的驱动器的目录 结构。 同理,当目录列表框中改变文件夹位置也会 触发Change事件,执行Dir1_Change过程, 在过程执行时就把刚选定的文件夹的路径属 性(Dir1.Path)赋给文件列表框File1的 Path属性,从而达到“同步”。
结束
2.目录列表框 2.目录列表框 用于显示当前磁盘驱动器下的目录。 最重要的属性Path(路径)属性,用来设 置和返回当前的路径。不能在设计状态时 设置。 格式: [对象.]Path[=pathName] 对象.]Path[=pathName] 其中,对象是指目录列表框名。pathName 是一个路径名字符串。 每次Path属性的改变都会引发Change事件。
结束
③FileName属性 FileName属性 FileName 用来在程序运行时设置或返回所选中的文 件名。 格式: 对象.]FileName[=pathName] [对象.]FileName[=pathName] 其中,对象是文件列表框名,pathName是 一个指定文件名及其路径的字符串。

vb10

vb10
4
10.1.2
• 常用事件: 常用事件:
目录列表框
Change事件
重新设置Path属性引发Change事件 重新设置Path属性引发Change事件 Path属性引发Change 注意:单击目录列表框中某一项目, 注意:单击目录列表框中某一项目,此项突出 显示,但并没改变Path值 显示,但并没改变Path值,只有双击才会改变 Path Path值 Path值.
16
(2)操作类型 (2)操作类型 Read: Read:只读 Write: Write:只写 ReadWrite: ReadWrite:读写皆可
10.3 顺序文件
文件名" [For 模式][Access 操作类型] Open "文件名" [For 模式][Access 操作类型] 锁定] [#]文件号 [Len=记录长度 记录长度] [锁定] As [#]文件号 [Len=记录长度] (3) 锁定 Shared(缺省 缺省) Shared(缺省) Lock Read Lock Write Lock Read Write
10
10.2
文件及其结构
文件:存储在外部介质上数据的集合。 文件:存储在外部介质上数据的集合。 按名存取 1.记录: 由若干个相互关联的数据项组成。 1.记录: 由若干个相互关联的数据项组成。 记录 例如:由学生的学习成绩信息组成的记录: 例如:由学生的学习成绩信息组成的记录:
学号 姓名 数学成绩 语文成绩 物理成绩 总分
14
10.2
文件及其结构
(3) ASCII码文件 ASCII码文件 数据是以ASCII码进行编码储存的。 数据是以ASCII码进行编码储存的。 ASCII码进行编码储存的 (4) 二进制文件(Binary File) 二进制文件(Binary 数据是以二进制格式进行编码保存的。 数据是以二进制格式进行编码保存的。

VB程序设计——10 文件

VB程序设计——10 文件

常见事件
控件名 DriveListBox (Drive1) DirListBox (Dir1) FileListBox (File1) 事件 Change Change 含义 选择一个新的驱动器时被触发 双lick
【例8-1】编写一个图片浏览器。使用一个驱动器列表框、一个 目录列表框一个文件列表框、一个组合框和一个图像框。
8.2 文件控件

驱动器列表框(DriveListBox)
目录列表框(DirListBox) 文件列表框(FileListBox)
常见属性
控件名 属性 含义
当前选定的 驱动器名 当前路径 当前打开的 文件夹路径
示例
Dirve1.Drive="C" Dir1.Path="C:\Windows "
8.1.4 文件的操作
1. 文件的打开或创建
Open 文件名 For 方式 [Access 存取类型] [锁定] As [#]文件 _ 号 [Len=记录长度]
2. 文件的读写
文件的读操作是指把文件中的数据传送到内存的操作,文 件写操作是指把内存中的数据存入磁盘文件的操作
3. 文件的关闭
Close [[#]文件号] [, [#]文件号] ...
第八章 文件
主讲:张静
为什么在程序中读入文件?

能解决数据量大问题

8.1 文件的基本概念 8.2 文件控件


8.3 顺序文件
8.4 随机文件 8.5 二进制文件

8.1.1 顺序文件和随机文件(文件结构)
记录按顺序一个接一个存放。 对顺序文件进行读写操作时,总是从文件头开始, 顺序读写。
4. FreeFile 函数

vb第十章

vb第十章
14
第10章 数据文件 章
10.2 顺序文件 顺序文件的读出操作
Line Input # 语句 格式: 格式:Line Input # <文件号>, <变量> 功能: 功能:从已经建立的顺序文件中读取一行数据
Line Input # 语句与Input # 语句功能相似,区 别是Input # 语句一次从文件中读取一条记录的相关字 段,而Line Input # 语句一次读取文件中的一行字符 串。Line Input # 语句一般是用来读取文本文件。
19
第10章 数据文件 章
10.2 顺序文件 顺序文件的相关函数和语句
Seek 函数 格式:Seek (<文件号>) 格式 功能:返回指定文件中下一个读写操作的位置 功能 Seek 语句 格式:Seek # <文件号>, n 格式 功能:设置指定文件中下一个读写操作的位置 功能
20
第10章 数据文件 章
8
第10章 数据文件 章
10.2 顺序文件 顺序文件的写入操作
Write # 语句 格式:Write #文件号, [输出项表列] 格式 Print 功能:与Print # 语句一样,将一条记录写入文件 功能
Write #与Print #两个语句的区别是,Write # 语句数据项间只能用逗号隔开,系统会自动地在各数据 项间插入逗号,给字符串加双引号,且不在正数前加空 格(符号位)。
10
第10章 数据文件 章
10.2 顺序文件 顺序文件的写入操作 【例10-2】向顺序文件中写入多条记录 - 】
Private Sub CmdOutput_Click() Dim Course As String, Score As Single Open App.Path & "\ stu.dat" For Output As #1 Do Course = InputBox("Enter Course (end is exit):") If LCase(Course) = "end" Then Exit Do Score = Val(InputBox("Enter Score")) Write #1, Course, Score Loop Close #1 End Sub

第十章vb6.0 文件管理及操作

第十章vb6.0 文件管理及操作

第十章文件管理及操作10.1 文件系统的基本操作VB提供了一些用于处理文件系统的语句,使用这些语句可以在VB应用程序中进行更改当前目录、建立或删除目录、删除文件等基本操作。

目录操作1.获取指定驭动器的当前路径。

要获取某驱动器的当前路径,可以使用CurDir函数,它的语法是:CurDir [drive].参数drive是指要获取信息的驱动器名称,如果忽略该参数,则CurDir函数返回当前驱动器的当前路径。

例如,如果驱动器E;的当前路径为“E: \Too1\Qicq”,则如下语句将在窗体上显示“E:\Too1\Qicq”.Print CurDir(“E”)。

2.更改当前驱动器。

使用ChDrive语句可以更改当前驱动器,其语法为:ChDrive drive.参数drive为要指定为当前驱动器的名称,例如,将驱动器A:指定为当前驱动器的语句为:ChDrive “A”.3.更改当前路径。

使用ChDir语句可以更改当前路径,其语法为:ChDir Path.参数Path为要指定的路径,如果在路径中没有指定驱动器的名称,则表示驱动器为当前驱动器。

例如,将路径C: \Windows指定为当前路径的语句为:ChDir “C:\Windows”.4.建立与删除目录。

使用MkDir语句可以创建一个新的目录,其语法为:MktDir Path.参数Path用来指定所要创建的目录以及目录所在的路径。

Path可以包含驱动器。

如果没有指定路径,则MkDir会在当前路径下创建新的目录。

例如:MKDir “C:\aa”在C盘中创建目录aaMKDir “C:\Windows\bb”在C盘windows目录中创建子目录bbMKDir “CC”在当前路径下创建目录cc使用RmDir语句可以删除某一空目录,其语法为:RmDir Path.例如:MKDir “C:\aa”删除C盘中目录aaMKDir “C:\Windows\bb”删除C盘windows目录中的子目录bbMKDir “CC”删除当前路径下创建目录cc注意:RmDir语句只能用来删除空的目录,如果目录中还包含有子目录或文件,则必须先删除子目录和文件。

VB程序设计第二版第十章

VB程序设计第二版第十章
第10章 文件操作
10.1 文件的基本概念 10.2 文件的打开与关闭 10.3 文件的读/写 10.3.1 相关概念和函数 10.3.2 顺序文件的读/写
1
10.1 文件的基本概念
文件指存储 / 记录在外部介质如磁盘磁带等 上的数据的集合。计算机中的数据都是以文件的 形式保存和处理的。
10.1.1 文件说明
Private Sub Form_Click() Close: ChDir "e:\vb" Open "teacher.txt" For Output Shared As #3 'shared前不能加Lock End Sub
示例4:打开当前文件夹下的随机文件hello.txt, 并指定文 号为4,相应Open语句(文件事先可不存在):
Private Sub Form_Click()
Open "e:\vb\test1.txt" For Input As #1 Len = 512 '#号可缺省
End Sub
示例2:打开当前文件夹下的顺序文件student.dat, 以便在 文件尾添加数据(Append, 文件事先可不存在),并指定文件 号为2,相应Open语句:
Private Sub Form_Click() Open "c:\data\classroom.dat" For Binary Access Read As #5 End Sub
10.2.2 关闭文件
Close语句---所有类型文件的关闭 功能 关闭已打开的文件,同时释放文件在打开时所分配的缓冲 区和文件号。 说明 close语句可同时关闭多个已打开的文件,多个文件号用 “,”号分隔。当不带文件号的close语句单独使用时,将关 闭所有已打开的文件。例:

vb.net中文件读写的用法

vb.net中文件读写的用法

是一种基于VB语言的面向对象程序设计语言,它是微软推出的一种用于开发Windows评台应用程序的工具。

在中,文件的读写是非常常见的操作,我们可以通过一些API来实现文件的读写操作。

在本文中,我将介绍如何在中进行文件的读写操作,包括文件的打开、读取、写入和关闭等操作。

希望通过本文的介绍,能够帮助大家更好地掌握中文件读写的用法。

一、文件的打开在中,我们可以使用FileStream类来打开一个文件。

FileStream类是用于提供文件的读写操作的一个类,通过它我们可以打开一个文件,并进行读写操作。

下面是一个打开文件的示例代码:Dim fs As FileStream = New FileStream("C:\test.txt", FileMode.Open)在上面的代码中,我们首先创建了一个FileStream对象,并以"test.txt"为文件名,以FileMode.Open的方式来打开了这个文件。

通过这个代码,我们就可以在中打开一个文件了。

二、文件的读取在中,我们可以使用StreamReader类来进行文件的读取操作。

StreamReader类是用于读取文件内容的一个类,通过它我们可以方便地读取文件的内容。

下面是一个读取文件的示例代码:Dim sr As StreamReader = New StreamReader("C:\test.txt")Dim content As Stringcontent = sr.ReadToEnd()Console.WriteLine(content)在上面的代码中,我们首先创建了一个StreamReader对象,并以"test.txt"为文件名来创建了这个对象。

然后我们通过sr.ReadToEnd()方法来将整个文件的内容读取到content变量中,并最后将content的内容输出到控制台上。

VB-第10章-文件操作(胡滨)

VB-第10章-文件操作(胡滨)
12
12
VB程序设计-第十章 文件操作 VB程序设计- 程序设计
顺序文件的读写操作
1. 顺序文件的写操作 VB提供了两个向文件写入数据的语句 提供了两个向文件写入数据的语句, VB提供了两个向文件写入数据的语句,即Write # 语句和Print #语句。 语句和Print #语句。 语句 #语句 (1)Print #语句 格式: <文件号 文件号> 输出列表> 格式:Print # <文件号>,<输出列表> 功能: 输出列表>的内容写入指定的文件中。 功能:将<输出列表>的内容写入指定的文件中。 输出列表>中各项要用逗号或分号隔开。 <输出列表>中各项要用逗号或分号隔开。当用逗 号分隔时,采用分区格式输出;当用分号分隔时, 号分隔时,采用分区格式输出;当用分号分隔时, 采用紧凑格式输出,所有项将在一行内输出, 采用紧凑格式输出,所有项将在一行内输出,所有 项输出后将自动换行。每一项可以是常量、 项输出后将自动换行。每一项可以是常量、变量或 表达式。 表达式。
文件:存储在外部介质上数据的集合。 文件:存储在外部介质上数据的集合。
2 2
VB程序设计-第十章 文件操作 VB程序设计- 程序设计
文件的概念
在操作系统中有两种文件: 在操作系统中有两种文件: 字符流无结构文件和记录式有结构文件 磁盘文件是由数据记录组成。 磁盘文件是由数据记录组成。 记录是计算机处理数据的基本单位, 记录是计算机处理数据的基本单位,它由一组具有共同属性相 互关联的数据项组成。 互关联的数据项组成。
9 9
VB程序设计-第十章 文件操作 VB程序设计- 程序设计
Hale Waihona Puke 说明模式] [#]文件号 [Len=记录长度 记录长度] Open 文件名 [For 模式] As [#]文件号 [Len=记录长度] 文件名> 一个字符串表达式,可以包含驱动器符及文件夹。 <文件名>:一个字符串表达式,可以包含驱动器符及文件夹。 Input:以只读方式打开文件。当要读的文件不存在时会出错。 Input:以只读方式打开文件。当要读的文件不存在时会出错。 Output:表示以写方式打开文件。如果文件不存在, Output:表示以写方式打开文件。如果文件不存在,就创建一 个新的文件;如果文件已经存在,则删除文件中的原有数据, 个新的文件;如果文件已经存在,则删除文件中的原有数据, 从头开始写入数据。 从头开始写入数据。 Append:表示以添加的方式打开文件。如果文件不存在, Append:表示以添加的方式打开文件。如果文件不存在,就创 建一个新的文件。打开文件时,保留原有的数据, 建一个新的文件。打开文件时,保留原有的数据,写数据时 从文件尾开始进行添加。 从文件尾开始进行添加。 文件号> 表示打开文件的文件句柄,是一个介于1 511之间的 <文件号>:表示打开文件的文件句柄,是一个介于1-511之间的 整数。VB提供了函数FreeFile来为打开的文件分配系统中未 整数。VB提供了函数FreeFile来为打开的文件分配系统中未 提供了函数FreeFile 被使用的文件号。 文件号>前的#号可以省略。 被使用的文件号。<文件号>前的#号可以省略。 <缓冲区大小>:表示可使用的缓冲区的字节数。 缓冲区大小> 表示可使用的缓冲区的字节数。

VB.NET程序设计-第10章 文件读写与管理-精选文档

VB.NET程序设计-第10章 文件读写与管理-精选文档
第10章 文件读写和管理
赵旭
2019年3月20 日
本章学习目标:
□ 了解文件的分类
□ 掌握文本文件和二进制文件的读写技术 □ 掌握文件和文件夹的管理方法
10.1 文件和System.IO模型概述
10.1.1 文件的分类
按文件中的数据格式,可分成“二进制文件”和“文本文件”;按 文件的存取方式,可分成“顺序文件”和“随机文件”。 (1) 顺序文件 顺序文件中的数据是一个接一个顺序地存放的,而且只记录第一个 数据的存储位置。 (2) 随机文件 随机文件以“记录”的格式来存储数据,所谓记录,其实就是由一 组相互关联的字段组合成的逻辑单位,它类似于数据库中的记录。 (3) 文本文件 在文本文件中,每个字符作为一个ASCII码或Unicode码存放,占一 个或两个字节。 (4) 二进制文件 二进制文件是把内存中的数据按照原样保存在外部存储器上,可以 直接读取或修改二进制文件中的任意字节。
表10-2 StreamReader类的New方法 New方法重载
StreamReader (String) StreamReader (String, Encoding) StreamReader (Stream) StreamReader (Stream, Encoding)
功能说明
以指定的文件名初始化 StreamReader 类的新实例。 以指定的文件名和字符编码初始化 StreamReader 类的一个 新实例。 以指定的流初始化 StreamReader 类的新实例。 以指定的流和字符编码初始化 StreamReader 类的新实例。

FileStream StreamReader StreamWriter BinaryReader BinaryWriter File FileInfo

VB-第十章-文件

VB-第十章-文件

【例10-5】编写顺序文件读写程序。若单击 “添加数据”按钮,则将一个学生的学号、姓 名和3门课成绩添加到scores.dat文件中;若单 击“读取数据”按钮,则从文件读取数据并计 算总分,再送入文本框中。
Private Sub Form_Click() Open "e:\a.dat" For Output As #1 Write #1, 1, 2, 3; 4; 5 Write #1, 5; 6; 7; 8; 9 Write #1, '写入一空行 '打开文件
Write #1, "abc", "def"; True,
指针
“efg”,567
Input #1, n% , cc$
Input #1, t$ , m%
Line
Input # 语句
格式 Line Input #文件号,字符串变量名 功能 将文件的当前读写位臵起至换行符前的 所有字符读入字符串变量
例: 下面的程序以Input方式打开文件 a:\ch12\myfirst.txt,并显示在窗体上. Private Sub Command2_Click() Dim int1 As Integer: Dim str1 As String Open "a:\ch12\myfirst.txt" For Input As #1 For int1 = 1 To 4 Line Input #1, str1 Print str1 Next Close #1 End Sub
常用属性
Name 缺省为File1 Pattern 字符串类型,设臵文件的显示模式 缺省为" *.* " Path 字符串类型,文件列表框总是显示Path属性所指 示的文件夹中的文件。 若在Form_Load中有语句: File1.Path=“c:\Windows” 则在窗体装入后, 控件File1显示“c:\Windows”文件夹 中的文件列表

VB.NET文件读写操作

VB.NET文件读写操作
接着调用 BinFormatter 的 Serialize 方法序列化任何可以序列化的 framework 对象:
R = New Rectangle(rnd.Next(0, 100),rnd.Next(0, 300), _ rnd.Next(10, 40),rnd.Next(1, 9))
BinFormatter.Serialize(FS, R)
FS = New System.IO.FileStream _ ("c:\test.txt", IO.FileMode.OpenOrCreate)
Dim obj As Object Dim P As Person(), R As Rectangle() Do
obj = BinFormatter.Deserialize(FS) If obj.GetType Is GetType(Person) Then
BinFormatter.Serialize(FS, New Rectangle(0, 0, 100, 200)) 创建一个 BinaryFormatter 对象,调用其 Deserialize 方法,然后把返回
的值转化为正确的类型,就是整个反序列化过程。然后
接着发序列化 Stream 的其他对象。
这一部分,你将找到更多常用的文件操作的代码实例。最常用、最基本的操作就 是把 text 写入文件和读回来。现在的应用程序通常不用二进制文件作存储简单 的变量,而用它来存储对象,对象集合以及其他机器代码。下面,将看到具体操 作的例子。
读写文本文件
为了把 text 保存到文件,创建一个基于 FileStream 的 StreamReader 对象,然 后调用 Write 方法把需要保存的 text 写入文件。下面的代码用 SaveFileDialog 提示用户指定一个文件,用于保存 TextBox1 的内容。

vb第10章 文件

vb第10章  文件

示例: "d:\ 示例:Open "d:\example.txt" For Output As
#1
PAN XIAONAN
10.3 顺序文件
关闭文件(Close) 2. 关闭文件(Close)
Close [#] 文件号1 [,[#] 文件号2 …] ] 文件号 文件号
打开的文件使用完后必须关闭。 【注】:打开的文件使用完后必须关闭。
记录1 记录 记录2 记录 记录3 记录 ……
允许存/取任一个记录 允许存 取任一个记录 如存入记录3, 如存入记录 ,再读取 记录2 记录
记录1 记录
记录2 记录
记录3 记录
……
按记录顺序进 行存取操作
PAN XIAONAN
文件处理的一般步骤
打开(或新建) (1) 打开(或新建)文件 访问文件 文件: 进行读、 (2) 访问文件:即进行读、写操作 从磁盘将数据送到内存称为: 从磁盘将数据送到内存称为:读 从内存将数据存到磁盘称为: 从内存将数据存到磁盘称为:写 关闭文件 (3) 关闭文件
PAN XIAONAN
PAN XIAONAN
The end! end!
示例: 示例:
Close #1
PAN XIAONAN
10.3 顺序文件
3. 顺序文件的写操作
Output或Append方式 方式打开文件 以Output或Append方式打开文件 使用Print# 语句或Write#语句将数据( 语句将数据 使用Print# 语句或Write#语句将数据(一个不定长记 写到文件中。 录)写到文件中。
PAN XIAONAN
第10章 文 件 10章
程序中经常需要将大量数据信息作为 数据文件存储在磁盘上。 数据文件存储在磁盘上。 VB可以处理三种类型的数据文件 可以处理三种类型的数据文件, VB可以处理三种类型的数据文件,即 顺序文件、随机文件和二进制文件。 顺序文件、随机文件和二进制文件。 文件按照存取访问方式,划分为: 文件按照存取访问方式,划分为:

vb第10章 文件

vb第10章 文件

【 本章结束 】
•读文件
-Input # 文件号,变量列表 文件号, 将读出的数据分别赋给指定的变量。 文件号, -Line Input # 文件号,字符变量 读文件时常用的两个重要函数: 从文件中读出一行赋给指定变量。 LOF(#文件号)(Length of File):返回指定 读取的字符数,文件号) -Input$ (读取的字符数,文件号) 文件的字符数(文件长度) 从文件中读出指定数目的字符。 EOF(#文件号)(End of File):文件是否到达 文件尾。
文件,供写入 例:打开文件C:\VB98\SCORE文件 供写入 打开文件 文件 数据,指定文件号为 命令为? 指定文件号为#1,命令为 数据 指定文件号为 命令为
Open “C:\VB98\Score” For OutPut As #1 C:\VB98\Score”
读/写文件
Write 与Print的 差别在于Write 以紧凑格式存放 • 写文件 数据,在数据之 – Print # 文件号,[输出列表] 文件号, 输出列表] 间用“,”号隔 – Write # 文件号, [输出列表] 文件号, 输出列表] 开。 举例。
关闭文件
Close [[#]文件号1] [,[#]文件号2]…… [[#]文件号 文件号1] [#]文件号 文件号2]……
(1) 关闭1号文件: close #1 关闭1号文件: (2)关闭所有文件: close all 或 关闭所有文件: close
顺序文件举例
例[10-4]
2.随机文件
打开文件 Open “文件名” For Random As [#]文件号 [Len=记录长度] 记录的缺省长度为128字节。 关闭文件:同顺序文件 关闭文件 写操作: 读/写操作 • 写: Put [#]文件号,[记录号],变量名 缺省记录号时,表示写入的位置是在当前记录 之后。 • 读: Get [#]文件号,[记录号],变量名 缺省记录号时,表示读当前记录的后一条记录。

vb程序设计第十章

vb程序设计第十章

5.EOF函数 格式:EOF(文件号) 功能:测试与文件号相关的文件指针是否已移到文件 的结束位置。如果是,函数值为真(True),否则为假 (False)。 6.LOF函数 格式:LOF(文件号) 功能:返回与文件号相关的文件的总字节数。注意, 对于尚未打开的文件,使用函数FileLen(文件名)取得 文件的长度。 7.Loc函数 格式:Loc(文件号) 功能:返回与文件号相关的文件的当前读写位置。
方法二:把文本的内容一次性读入文本框。
Text1.Text= "" Open "MyFile.txt" For InPut As #1 Text1.Text=InPut$(LOF(1),#1) Close #1
方法三:把文件的内容一个字符一个字符的读入文本框
Dim InPutData As String*1
3、关闭文件 当结束各种读写操作后,还要关闭文件,否则会 造成数据丢失。关闭文件所用的语句是Close,格
4、读操作 读顺序文件的语句有下列三种: (1)InPut #文件号,变量列表 使用该语句将从文件中读出数据,并将读出的 数据赋给指定的变量。 注意:为了能够用InPut#将文件中的数据正 确的读出,在将数据写入文件时,要用Write# 语 句,因Write#语句能够将各个数据项正确 得区分 开。 (2)Line InPut #文件号,字符串变量使用该语 句可以从文件中读出一行数据,并将读出的数 据赋给指定的字符串变量。读出的数据中不包 含回车符和换行符
Open "Test1.dat" For OutPut As #1 Print #1, Text1.Text Close #1
方法二:把文本框的内容一个字符一个字符的写入文件
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第10章 文件读写和管理
赵旭
2019年3月20 日
本章学习目标:
□ 了解文件的分类 □ 掌握文本文件和二进制文件的读写技术 □ 掌握文件和文件夹的管理方法
10.1 文件和System.IO模型概述
10.1.1 文件的分类
按文件中的数据格式,可分成“二进制文件”和“文本文件”;按 文件的存取方式,可分成“顺序文件”和“随机文件”。 (1) 顺序文件
向二进制文件中写入数据。
File
提供用于创建、复制、删除、移动和打开文件的静态方法,并协助创建FileStream对象。
FileInfo
提供创建、复制、删除、移动和打开文件的实例方法,并且帮助创建 FileStream 对象。无法 继承此类。
Directory
提供用于创建、移动和遍历目录和子目录的静态方法。无法继承此类。

说明
FileStream
以字节流的形式访问文件,既支持同步读写操作,也支持异步读写操作。
StreamReader
从文本文件中读入字符,并且可以定义字符的编码方式,
StreamWriter
向文本文件中写入字符,也可以定义字符的编码方式。
BinaryReader
从二进制文件中读取数据。
BinaryWriter
指定操作系统应创建新文件。如果文件已存在,它将被改写。如果文件不存在,则使用 CreateNew ;否则使用 Truncate。
指定操作系统应创建新文件。如果文件已存在,则将引发 IOException。
指定操作系统应打开现有文件。打开文件的能力取决于 FileAccess 所指定的值。如果该文件不存 在,则引发 System.IO.FileNotFoundException。
( 1 ) 使 用 New 方 法 创 建 StreamReader/StreamWriter 对 象,将它与文本文件关联(打开文件的数据流通道)。
(2)调用对象的成员方法从文件中读写字符 (3)关闭StreamReader/StreamWriter对象和数据流。
1.StreamReader类 StreamReader又称为读取器,它提供了多个用于创建对
(m2s.)msdnSqttr.rv8e0.achms/WMSr.MiSDtN.ev r类写文件的方法 80/DEVFX.v20.chs/cpref 用指定的编码及默认缓冲区大小,为指定的流初始化 StreamWriter 类的新实例
8/html/C_Sys方te法m_IO_StreamRea 。
ReadChar
从当前流中读取下一个字符,并根据所使用的 Encoding 和从流中读取的特定字符,提升流 的当前位置。
ReadChars
从当前流中读取 count 个字符,以字符数组的形式返回数据,并根据所使用的 Encoding 和从流中读取的特定字符,提升当前位置。
ReadDecimal
从当前流中读取十进制数值,并将该流的当前位置提升十六个字节。
New方法重载
StreamReader (String)
StreamReader (String, Encoding)
StreamReader (Stream)
StreamReader (Stream, Encoding)
功能说明
以指定的文件名初始化 StreamReader 类的新实例。 以指定的文件名和字符编码初始化 StreamReader 类的一个 新实例。 以指定的流初始化 StreamReader 类的新实例。
(ea2m)ReaBdehirtn_mcat(roSrty_rR1e_ae7ma8)6d4ec1r2类9. 的常用方法
方法
功能说明
ms.msdnqtr.v80.chs/MS.MSDN
.pvr8e0f/8PM/eShRe.tekNmaCEldhT/aDCrE_e2m0_.I返已cOh_回重sS/t下载cr 一。基个从于可基所用础提的流供字中的符读流,取和并字特且符定不,的提并字升提符字升编节流码或的,字当初符前始的位化位置置B。i。naryReader 类的新实例。
图10-2 读取文本文件
2.StreamWriter类 StreamWriter又称为写入器,用于向文本文件中写入字符,
也可以指定字符的编码方式。 (1) StreamWriter类的New方法
New方法重载 StreamWriter (String)
功能说明
使用默认编码(UTF-8)和缓冲区大小,为指定文件名初始化 StreamWriter 类的 新实例。
以指定的流和字符编码初始化 StreamReader 类的新实例。
注意:调用New方法而不指定字符编码,则程序采用默认 的UTF-8编码读取文件。
(2) FileStream类 FileStream类用于创建指向某个文件的流对象,基本的书写形式为: Dim fs as New FileStream( “D:\VS\Chapter10\文本文件.txt", FileMode.Op en, FileAccess.ReadWrite ) 第一个参数为文件全路径名。第二个参数为FileMode枚举类型值,用于指定访问 文件的模式,第三个参数为FileAccess枚举类型值,用于指定访问文件的权限
ms.msdnqtr.v80.chs/MS.MSDN.v 80/DEVFX.v20.chs/cpref 8/html/C_System_IO_StreamRea
der_ctor_1_7864c129.htm (Stream)
用默认编码(UTF-8)及默认缓冲区大小,为指定的流初始化 StreamWriter 类的 一个新实例。
ReadDouble
从当前流中读取 8 字节浮点值,并使流的当前位置提升 8 个字节。
(2)BinaryReader类的常用方法
方法
功能说明
ReadInt16
从当前流中读取 2 字节有符号整数,并使流的当前位置提升 2 个字节。
ReadInt32
从当前流中读取 4 字节有符号整数,并使流的当前位置提升 4 个字节。
【例10-2】修改例10-1,用其它 方法读取文件。 设计界面如图10-2,点击第一个 按钮,通过循环从文件中一个一 个读取字符,直到文件结尾,Str eamReader类中有一个只读属性En dOfStream,其值为true表示已到 文件结尾,其值为false表示未到 结尾。点击第二个按钮,读取文 件的前10个字符到Char型数组。 点击第三个按钮,通过循环一行 一行读取字符,直到结尾。
象和读取文件的方法 。【例10-1】读取文本文件,将其内 容显示在窗体中。
图10-1 读取文本文件 具体操作步骤和源程序参见教材
(1) New方法 建立StreamReader对象与文件的关联,以及打开数据
流通道,是通过向New方法传递参数完成的。
表10-2 StreamReader类的New方法
10.1.3 System.IO模型概述
System.IO实际上是一个文件操作的类库,这些类提供了多种对文件的
读写方法,以及对文件和文件夹的管理方法,这些类被声明在System.IO命
名空间中,要使用这些类,必须引入该命名空间,其中常用的类及其功能如
表10-1所示。
表10-1 System.IO模型中常用的类

Append
Create CreateNew
Open OpenOrCreate
Truncate
表10-3 FileMode值及其说明
功能说明
打开现有文件并查找到文件尾,或创建新文件。FileMode.Append 只能同 FileAccess.Write 一起 使用。任何读尝试都将失败并引发 ArgumentException。
【例10-3】设计窗体如图10-3,将左边文本框的数据写入文 件D:\VS\Chapter10\文本文件2.txt中,在右边文本框中显示 文件的内容。
图10-3 写入文本文件 具体操作步骤和源程序参见教材
10.2.2 二进制文件的读写操作
二进制文件通常扩展名为“dat”,一般利用BinaryReader类从二进制文件 中读取数据,利用BinaryWriter类向二进制文件中写入数据。
指定操作系统应打开文件(如果文件存在);否则,应创建新文件。
指定操作系统应打开现有文件。文件一旦打开,就将被截断为零字节大小。
方法 Read ReadWrite Write
表10-4 FileAccess值及其说明 功能说明
对文件的读访问。可从文件中读取数据。 对文件的读访问和写访问。可从文件读取数据和将数据写入文件。 文件的写访问。可将数据写入文件。
1.BinaryReader类 (1) BinaryReader类的New方法
New方法重载
功能说明
ms.msdnqtr.v80.chs/MS.MSDN
.v80/DEVFX.v20.chs/c pref8/html/C_System_IO_Str
基于所提供的流,用 UTF8Encoding 初始化 BinaryReader 类的新实例。
(3) 读取方法
方法
Read Read(buffer, index,
count) ReadLine ReadToEnd
功能说明
读取输入流中的下一个字符。 从 index 开始,从当前流中将最多的 count 个字符读入 buffer。 从当前流中读取一行字符并将数据作为字符串返回。 从流的当前位置到末尾读取流。
DirectoryInfo
提供用于创建、移动和遍历目录和子目录的实例方法。无法继承此类。
10.2 文件的读写操作
10.2.1 文本文件的读写操作
StreamReader 类 和 StreamWriter 类 分 别 以 流 的 方 式 读写文本文件,读写时可以指定字符的特定编码。默认编 码为 UTF-8,而不是本地系统的 ANSI 编码。UTF-8 可以 正确处理 Unicode 字符并在各主机的操作系统中提供一 致的结果。读写文本文件的基本步骤为:
相关文档
最新文档