文件管理输入与输出(Word文稿)
时 间:2010-05-07 22:25:57
作 者:江羽 ID:3967 城市:南昌
摘 要:文件管理(I/O)输入与输出,附Word文稿
正 文:
文件根据访问方式的不同,分为三种类型:顺序文件、随机文件、二进制文件。
下结合具体实例,演示三种类型文件操作。
(1)顺序方式操作文件(具体参看实例)
u (Input)模式实例:读取指定 TestFile.txt文件内容并显示。
Dim strFileName As String '文件名及完整路径
Dim lngHandle As Long '文件号或称文件句柄
Dim strAll As String '所读取的文本文件的所有内容
Dim strLine As String '在循环中存放每行的内容
strFileName = CurrentProject.Path & "\TestFile.txt" '文件名称及完整路径
lngHandle = FreeFile() '通过FreeFile函数取得一个空闲文件号(也称文件句柄)
Open strFileName For Input As lngHandle '以Input模式打开文件
'循环直到文件尾,EOF函数避免在文件结尾进行操作错误
Do While Not EOF(lngHandle)
'通过Line Input语句每次读取一行存放在strLine变量中
Line Input #lngHandle, strLine
'每次读取的内容循环赋值到strAll字符串变量,
'由于Line Input去掉了换行符,所以这里补上
'你也可以通过Chr(13) & Chr(10) 实现换行
strAll = strAll & strLine & vbCrLf
Close lngHandle '关闭文件
'在立即窗口测试得到的内容
Debug.Print strAll
u (Output)模式实例:将指定文本写入并覆盖TestFile.txt文件内容,用Output写入会自动检测指定文件是否存在,如果不存在则创建该文件。
Dim strFileName As String '文件名及路径
Dim lngHandle As Long '文件号或称文件句柄
Dim strWrite As String '要写入的文本内容
strWrite = "我是江羽,这是测试文本。" '准备要写入的内容
strFileName = CurrentProject.Path & "\TestFile.txt" '文件名称及完整路径
lngHandle = FreeFile() '取得一个空闲文件号(也称文件句柄)
Open strFileName For Output As lngHandle ' 以Output模式打开文件
'关键字也可以改 Write ,它与 Print 不同在于会自动加上引号
Print #lngHandle, strWrite '写入文本
Close lngHandle '关闭文件
u (Append)模式实例:将指定文本追加写入TestFile.txt文件,用Append写入会自动检测指定文件是否存在,如果不存在则创建该文件。
Dim strFileName As String '文件名及路径
Dim lngHandle As Long '文件号或称文件句柄
Dim strWrite As String '要写入的文本内容
strWrite = "我是江羽,这是测试文本。" '准备要写入的内容
strFileName = CurrentProject.Path & "\TestFile.txt" '文件名称及完整路径
lngHandle = FreeFile() '取得一个空闲文件号(也称文件句柄)
Open strFileName For Append As lngHandle '以 Append模式打开文件
'关键字也可以改用 Write ,它与 Print 不同在于会自动加上引号
Print #lngHandle, strWrite '写入测试文本
Close lngHandle '关闭文件
(2)随机(Random)方式操作文件
示例以随机方式操作TestFile.dat文件,写入一笔数据,文件中含有用户自定义数据类型 Record 的记录。
' 在标准模块中建一个自定义数据类型
Type Record '定义用户自定义数据类型
ID As String * 3 'ID号
Name As String * 20 '姓名
End Type
' 在对象事件中插入如下程序代码
Dim MyRecord As Record ' 声明为自定义数据类型变量
Dim strFileName As String ' 文件名及路径
Dim lngHandle As Long ' 文件号或称文件句柄
strFileName = CurrentProject.Path & "\TestFile.dat" ' 文件名称及完整路径
lngHandle = FreeFile() ' 取得一个空闲文件号(也称文件句柄)
' 以 Random 随机模式打开文件
' 假如该文件不存在,则创建一个新的文件
Open strFileName For Random As lngHandle Len = Len(MyRecord)
' 将数据赋值给自定义数据变量
MyRecord.ID = "1"
MyRecord.Name = "江羽"
' 通过Put语句保存第一笔记录
' 如果将Put换成Get语句可以获取指定节点记录
' 通过Get语句读取记录方法,具体参看实例
Put lngHandle, 1, MyRecord
Close lngHandle
(3)二进制(Binary)方式操作文件
示例:通过二进制读取mdb自身,同时将读取数据写入新生成的mdb文件,达到备份当前数据库目的。
Dim TempByte As Byte '临时存放字节数据
Dim strCurrDb As String '当前数据库名及完整路径
Dim strBackDb As String '备份文件名及所在路径
Dim I As Long '定义循环变量
'赋值当前数据库及完整路径给字符串变量
strCurrDb = CurrentDb.Name
'赋值备份的数据库及完整路径
strBackDb = CurrentProject.Path & "\back.mdb"
'打开当前要备份的数据库,准备读取(Read)字节内容
Open strCurrDb For Binary Access Read As #1
'打开要备份的数据库,准备写(Write)前面读取的当前数据库内容
'因为备份文件不存在,会在指定路径创建一个文件
Open strBackDb For Binary Access Write As #2
'从头向末尾读取当前数据库字节并同时写入到备份数据库文件
For I = 1 To LOF(1)
Get #1, I, TempByte 'Get语句:读取文件中数据
Put #2, I, TempByte 'Put语句:将数据写入文件
Next I
'关闭文件
Close #1
Close #2
Word文稿下载: 点击下载此附件
Access软件网QQ交流群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- Access对子窗体数据进行批...(10.30)
- 最精简的组合框行来源数据快速输...(10.25)
- Access仿平台的多值选择器...(10.24)
- 【Access日期区间段查询】...(10.22)
- 【Access源码示例】VBA...(10.12)
- Access累乘示例,Acce...(10.09)
- 数值8.88,把整数8去掉,转...(10.08)
- 【Access自定义函数】一个...(09.30)
- 【Access选项卡示例】Ac...(09.09)
学习心得
最新文章
- Access快速开发平台企业版--...(11.18)
- 不会用多表联合查询,多表查询没结果...(11.16)
- 【案例分享】主键字段值含有不间断空...(11.16)
- Access快速开发平台--后台D...(11.14)
- 微软Access邀测新Monaco...(11.12)
- Access列表框左右互选、列表框...(11.11)
- 高效率在导入数据前删除记录(11.10)
- Access报价单转订单示例代码(11.08)
- Access系统自带的日期选择器不...(11.08)
- 分享一下Access工程中的acw...(11.07)