【转】vb OPen文本文件的操作
Dim uid$
Open App.Path & "\close_id.txt" For Input As #1 '记事本close_id.txt上每行一个你要关闭的程序名
Do While Not EOF(1) '历遍每行
Line Input #1, uid
If fun_FindProcess(uid) <> 0 Then '调用上面的函数判断是否存在这个进程,有则杀
Shell ("cmd /c taskkill /f /im " & uid), vbHide
End If
Loop
Close #1
Open "student.txt" For Output As #filenum
Write #filenum, "张三", "初一年级", 14
Write #filenum, "李四", "职业高中", 18
或者
Open "student.txt" For append As #filenum
Write #filenum, "张三", "初一年级", 14
Write #filenum, "李四", "职业高中", 18
vb使用open方法读写文件
(一)打开和关闭文件
1、顺序文件
打开顺序文件,我们可以使用Open语句。它的格式如下:
Open pathname For [Input |Output |Append] As [#]filenumber [Len = buffersize]
说明:
(1)参数pathname 表示要打开的文件名,文件名可以包含有驱动器和目录
(2)Input Output 和Append用于设置顺序文件的打开方式。其中,Input表示从打开的文件中读取数据。以这种方式打开文件时,文件必须存在,否则会产生错误。Output表示向打开的文件中写入数据。以这种方式打开文件时,文件中原有的数据将被覆盖,新的数据将从文件开始写入。如果文件不存在,则创建一个新文件。Append表示向打开的文件中添加数据。以这种方式打开时,文件中原有的数据将被保留,新的数据将从文件为开始添加。如果文件不存在,则创建一个新文件。
(3)As[#]filenumber 子句用于为打开的文件指定文件号.对文件进行读写操作时,要用文件号表示该文件.文件号是介于1~511之间的整数,既可以是数字,又可以是变量.也可以省略不用.
(4)当在文件与程序之间拷贝数据时,Len=buffersize子句指定缓冲区的字符数.
例如:
Open App.Path "\test.dat" For Output As 1
Open App.Path "\test.dat" For Output As 1
这两句代码在当前应用程序所在目录下创建了一个名为test.dat的文本文件,分配文件号为1.
Open App.Path "\test.dat" For Input As [#]filenumber
这条语句是从文本文件中读取数据.
Open App.Path "\test.dat" For Append As [#]filenumber
这条语句则是像文本文件中添加数据
2、随机文件
操作随机文件之前,首先必须定义用于保存数据项的记录类型.该记录是用户自定义数据类型,他们是随机文件中存储数据的基本结构.例如:
Type Student
No As Integer
Name As String * 20
age As Integer
End Type
Dim Stud As Student ‘定义一个可以存放学生材料的变量
随机文件中,所有的数据都将保存到若干个结构为Student类型的记录中, 而从随机文件中读出的数据则可以存放到变量Stud中.
之后我们就可以打开并读写文件了.下面是打开随机文件的语法格式:
Open filename For Random as [#]filenumber Len = Reclength
说明:
(1)参数filename 和filenumber 分别表示文件名或文件号.
(2)关键字Random 表示打开的是随机文件
(3)Len子句用于设置记录长度,长度由参数Reclength指定.Reclength的值必须大于0,而且必须与定义的记录结构的长度一致.计算记录长度的方法是将记录结构中每个元素的长度相加.例如前面声明的Student的长度应该是2 20 2=24字节.
打开一个记录类型为Student 的随机文件的方法是:
Open "c:\Student.txt " For Random As #1 Len = 25
3、二进制文件
打开二进制文件的语法格式如下:
Open pathname For Binary As [#]filenumber
说明:
(1) 参数filename 和filenumber 分别表示文件名或文件号.
(2)关键字Binary 表示打开的是二进制文件
(3)对于二进制文件,不能指定字节长度.每个打开的二进制文件都有一个自己的指针,文件指针是一个数字值,指向下一次读写操作的文件中的位置.二进制文件中的每个”位置”对应一个数据字节,因此,有n个字节的文件,就有1到n个位置.
我们可以用Seek()函数返回当前的文件指针位置(即下一个要读写的字节 );用Loc()函数返回上一次读写的字节位置,除非用Seek语句移动了指针,Loc()返回值总比Seek()的小1.我们来看下面的例子:
Open “student.txt” for Binary as #1
该语句用二进制的方式打开了student.txt文件.
(二)读文件
1、顺序文件
顺序文件的读取有三种方式:
(1)Line Input # 语句
该语句从打开的顺序文件中读取一行数据。这里的一行指的是从当前指针位置开始到回车符或回车换行符之间的所有数据。Line Input # 语句的语法格式如下:
Line Input # 文件号,变量号
说明:“文件号”是打开文件时所用的文件号;“变量号”使用来存放读出数据的一个或多个变量,如果有多个变量,中间用空格分割开。Input# 语句为参数列表中的每一个变量读取文件的一个域,并将读出的域存入变量中。该语句只能顺序的从第一个域开始,直到读取想要的域。
请看下面代码:
Dim strLine As String
Open "c:\vb\test.txt" For Input As #1
Do Until EOF(1)
Line Input #1, strLine
text1.Text = text1.Text strLine Chr(13) Chr(10)
Loop
Close #1
此段代码逐行读取一个文件到文本框中。
(2)Input函数
此函数可以从顺序文件中一次读取指定长度的字符串。具体地说,就是从文件的当前位置开始,读取指定个数的字符,然后将他们返回。Input函数可以读取包括换行符,回车符,空格符等在内的各种字符。下面是它的语法格式:
变量 = Input(串长度,文件号)
例如,要从一个打开文件中读取12个字符并复制到变量file中,我们可以这样写:
file = Input(12,filenum)
如果要将整个文件复制到变量,请使用InputB函数将字节从文件复制到变量。由于InputB函数返回一个ASCII字符串,因此,必须用StrCopy函数将ASCII字符串转换为Unicode字符串。代码如下:
file = StrCopy (Input (LOF(filenanum),filenum),vbUnicode)
(3)Input # 语句
Input #语句可以从文件中同时向多个变量内读入数据,而且读入的数据可以是不同类型的。
下面使它的语法格式:
Input # 文件号,变量列表
例如,我们要在文件student.txt中写入数据,下面是代码:
Open "student.txt" For Output As #filenum
Write #filenum, "张三", "初一年级", 14
Write #filenum, "李四", "职业高中", 18
Dim name As String, nianji As String, age As Integer
Dim name1 As String, nianji1 As String, age1 As Integer
Open "student.txt" For Input As #filenum
Input #filenum, name, nianji, age
Input #filenum, name1, nianji1, age1
Close #filenum
执行结果:
name=”张三” ,nianji = “初一年级” ,age =14
name=”李四” ,nianji = “职业高中” ,age =18
2、随机文件
读取随机文件是可以使用Get # 语句,数据从文件的一个指定记录中读出后,存入一个用户自定义的变量中.
语法格式: Get # FileNum ,[RecNum],UserType
说明:
(1)FileNum 是要打开的文件号;RecNum是要读取的记录号,若省略,则读取下一个记录
(2)UserType 是一个用来存放读出数据的用户自定义的数据类型变量.
下面是一个例子:
Get # 1,5,Student
该语句读取文件号为1的文件中的第5条记录.
3、二进制文件
读写二进制文件的方法和读写随机文件的方法基本相同,下面是相关的语句格式及其说明:
格式: Get [#]fileNumber ,[Pos], Var
功能: 用二进制方式,从文件的中指定的位置开始读取,所给变量长度的数据
说明:
(1)FileNumber是以二进制方式打开的文件号.
(2)Pos用来指定读写操作发生时的字节位置,若省略,则使用当前文件指针位置.
(3)Var是用来存放读出的数据的变量.该语句会自动根据var变量包含的字节长度读取适当的文件,如果Var是一个可变长度的字符串变量,则传送的字节数等于Var中目前的字节数.对于文件长度的判断我们可以使用Lof()函数,Eof()函数检查文件的结尾位置.
下面的代码复制studert.txt文件到student1.txt文件中
Dim ar As String * 1, i As Integer
Open "c:\student.txt" For Binary As #1
Open "c:\student2.txt" For Binary As #2
For i = 1 To LOF(1)
Get #1, ar
Put #2, ar
Next i
Close #1, #2
(三)写文件
1、 顺序文件
写顺序文件我们可以用Write # 和Print #语句向一个已经打开的文件中写入数据.
下面是他们的格式和说明:
Print # 的语法格式:
Print # 文件号,变量列表
例如,将文本框中的文本写到文件中,代码如下:
Open "file.txt" For Output As #filenum
Input #filenum, text1.text
Write # 语句的语法格式:
Write # 文件号,变量列表
说明:用Write # 语句写入的信息便于以后用Input #语句来读取数据,因为Write #语句自动将写入到文件中的信息用逗号分开,并为字符串数据加上双引号.例如:
Open "student.txt" For Output As #filenum
Write #filenum, "张三", "初一年级", 14
Write #filenum, "李四", "职业高中", 18
2、 随机文件
向随机文件中写入数据,使用Put #语句.语法格式如下:
Put [#] FileNum ,[RecNum],UserType
说明:
(1) FileNum 是要打开的文件号;RecNum是要写入的记录号,若省略,则再上一次用Get 和Put语句所读写过的记录的后一条记录中写入,如果没有执行过Get 和Put语句,就从第一条记录开始
(2)UserType 是包含要写入数据的用户自定义的数据类型变量.例如:我们向前面的student.txt文件中的第5个记录写入数据,可用这些语句:
stud.No = 0301
stud.Name = “王武”
stud.Age =20
Put #1 ,5,stud
如果要插入的数据不只一两条的话,首先要确定文件和每条记录的长度,这样就可以计算出文件中究竟有多少条记录.我们可以用Lof()函数返回文件的长度,Len()函数返回每个记录的长度,计算文件中的记录个数可以用文件的长度除以给个记录的长度.示例如下:
Nextrec= (Lof(1)\Len(UserType)) 1
Put #1,Nextrec,UserType
3、二进制文件
下面是以二进制方式写入文件的语句格式及其说明:
格式:
Put [#]fileNumber ,[Pos], Var
功能: 用二进制方式,从文件的中指定的位置开始写入,所给变量长度的数据
说明:
(1)FileNumber是以二进制方式打开的文件号.
(2)Pos用来指定写操作发生时的字节位置,若省略,则使用当前文件指针位置.
(3)Var是用来存放写入的数据的变量.该语句会自动根据var变量包含的字节长度写入文件,如果Var是一个可变长度的字符串变量,则传送的字节数等于Var中目前的字节数
相关文章参考:
※VB 读写TXT文本文件函数
※VB文本文件的7种读入方法
※VB输入文本文件实现右对齐
※计算文本文件的行数
※VB打开文本文件各种方法
※vb UTF文本文件访问
※简述UTF-8编码原理及其文本文件的读写技术
※vb OPen文本文件的操作※
更多精彩>>>
【转】vb OPen文本文件的操作相关推荐
- VB打开文本文件各种方法
打开文本文件是不少程序必须处理的问题.如何更有效地打开文本文件应该是一个值得研究的课题.为此,笔者将自己搜集到的几种方法无私地奉献出来(-_-),供各位参考.同时期盼大家也来参与,借VB编程乐园这块宝 ...
- vb UTF文本文件访问
程序代码: 支持UTF文本文件访问的模块 支持常见的ANSI.UTF-8.UTF-16LE.UTF-16BE这几种编码文本 Option Explicit 'mTextUTF.bas '模块:UTF文 ...
- VB计算文本文件的行数
MsgBox CreateObject("scripting.FileSystemObject").OpenTextFile("C:\sps\sps\B.txt" ...
- java对文本文件进行操作:读取、修改、添加、删除、重命名等
java对文本文件进行操作:读取.修改.添加.删除.重命名等 Java IO 也称为IO流,IO = 流,它的核心就是对文件的操作,对于 字节 .字符类型的输入和输出流. IO是指对数据流的输入和输出 ...
- C语言文件读写(2)-文本文件写操作
C语言文件读写-文本文件写操作 在上一篇中介绍了如何读取文本文件 https://blog.csdn.net/zhanghaiyang9999/article/details/107032563 这一 ...
- ObjectArx开发对txt文本文件的操作一例
// MyArxFirst.cpp : 定义 DLL 应用程序的导出函数. //ObjectArx开发对txt文本文件的操作一例 #include "stdafx.h" #incl ...
- VB输入文本文件实现右对齐
在写入数值时使用 Format 函数: Format(x,String(n,"@")) 此函数的执行结果就是左侧空格的右对齐文本, 其中 x 是要转化的数字(或文本),n 是数字( ...
- python之文件操作、对.txt文本文件的操作(读、写、修改、复制、合并)、对json文本文件的操作、json字符串与字典的相互转换。
注意:本篇所讲的文件操作,都是对后缀为.txt..json文件进行的操作. 1.json其实就是一个文件的格式,像.txt一样,json也是一个纯文本文件.与.txt不同的是,json常用来存放有键值 ...
- VB.NET 使用 OleDb 操作 Access 数据库(来自 MSDN)
VB.NET 使用 OleDb 操作 Access 数据库 这里采用 OleDb 方式对 Access 数据库进行访问,主要内容都来自 MSDN 帮助文档.建议新手注意 MSDN 的用途.下面的代码只 ...
最新文章
- 吴恩达对话Yann LeCun:从相识Hinton到深度学习崛起
- leetcode 983. Minimum Cost For Tickets | 983. 最低票价(动态规划)
- Angular里使用createEmbeddedView动态加入新的模板元素
- uva 10673 ——Play with Floor and Ceil
- 【飞秋怎么用】企业应用
- caffe与tensorflow框架下卷积的维度计算与一致性证明
- LVS+keepalived负载均衡 ??待续
- iQOO Z1于10月21日开启双十一钜惠,最高立减200元
- 华为P40系列发布时间或敲定:继续在3月26日亮相?
- ctypes python 结构体_Python 中 ctypes 的使用
- nginx 认证访问web
- GB18030:蒙文字符方向为什么转了90度
- 牛客网SQL练习题(Mysql-8)
- 墙壁绘画机器人 ||arduino processing
- 完全卸载迈克菲Mcafee的工具
- rasa实现同义词替换
- 我为什么读博, 以及我为什么不读博?这是个问题!
- android wear自动断开,如果你的手表总是自动断开与手机连接的话,可以看下。
- word毕设论文制作——封面(一)
- 一口气讲完设计模式(单例模式、工厂模式、原型模式、建造者模式、适配器、桥梁模式)
热门文章
- 这位29岁MIT美女博士究竟是如何“造”出人类史上首张黑洞照片的?
- Google 产品的消亡史!
- AI 时代,为何机器人公司无法盈利只能走向倒闭?
- 苹果 Mac 图标设计背后的故事!
- 为什么现在的监控系统容易硬盘坏?附原理解析
- mail linux 客户端,Nylas Mail: 一个 Linux 的免费邮件客户端
- java空间大战,看这篇足矣了!
- 京东批量下单_京东快递发件指南!
- python浪漫文艺_文艺一把!Python爬取读者制作PDF!
- linux命令 三大利器,awk、grep、sed是linux操作文本的三大利器,也是必须掌握的linux命令之一...