Visual Basic.Net中有三种访问文件系统的方法:第一种是使用Visual Basic运行时函数进行文件访问(VB传统方式直接文件访问);第二种是通过.Net中的System.IO模型访问;第三种是通过文件系统对象模型FSO访问。
文件是存储在某种介质上数据的集合,就其本身来讲,文件只不过是磁盘上的一系列相关的数据字节。当应用程序访问文件时,它必须假定字节是否表示字符、数据记录、整数、字符串等。通过指定文件的访问类型来告诉应用程序假定什么内容。
Visual Basic提供三种类型的文件访问:
1.顺序,用于在连续的块中读取和写入文本文件。
2.随机,用于读取和写入结构为固定长度记录的文本或二进制文件。
3.二进制,用于读取和写入任意结构的文件。
使用Visual Basic运行时函数进行文件访问
VB.Net保留了VB早期的直接文件访问的方式即通过一些相关的函数直接访问操作文件。下表分别列出了三种直接文件访问类型的所有可用文件访问函数。
|
函数 |
顺序 |
随机 |
二进制 |
说明 |
|
FileOpen函数 |
X |
X |
X |
打开输入或输出文件 |
|
FileClose函数 |
X |
X |
X |
关闭使用FileOpen函数打开的文件 |
|
Input函数 |
X |
X |
从打开的顺序文件中读取数据并将数据分配给变量 | |
| InputString函数 | X | 从打开的顺序文件中读取一行数据并将它赋给String变量 | ||
| LineInput函数 | X | 从打开的顺序文件中读取一行数据并将它赋给String变量 | ||
| Print、Printline函数 | X | 将格式化的显示数据写入顺序文件 | ||
|
Write、WriteLine函数 |
X |
将数据写入顺序文件 |
要对文件进行操作,首先要打开文件,使用FileOpen函数。
示例:以Output模式共享方式打开C盘下的readme.txt文件。
FileOpen(1, "c:\readme.txt", OpenMode.Output, OpenShare.Shared)
当操作文件结束后,需要关闭文件防止文件内容的丢失,此外需要重新打开文件时也需要关闭文件,用FileClose函数,关闭刚才打开的文件c:\readme.txt:
FileClose(1);
当以input模式打开顺序文件时,要打开的文件必须已经存在,否则打开出错,以Output或Append模式打开一个不存在的文件时,FileOpen先创建该文件,然后打开。
其他的一些函数
Dir函数:返回表示匹配指定模式或文件属性的文件名、目录名或文件夹名的字符串或返回驱动器卷标的字符串。
EOF函数:当到达以Random或顺序Input模式打开的文件尾时,返回Boolean值True。
FileCopy函数:复制文件。
FileDateTime函数:返回指示创建或最后修改文件的日期和时间的Date值。
FileLen函数:返回以字节表示的指定文件长度的Long值。
FreeFile函数:返回一个Integer值,表示可由FileOpen函数使用的下一个文件号。
GetAttr函数:返回表示文件、目录或文件夹的属性的FileAttribute值。
Loc函数:返回一个Long值,该值指定打开文件中当前的读/写位置。
LOF函数:返回一个Long值,表示用FileOpen函数打开的文件的大小(以字节为单位)。
Seek函数:返回一个Long值,指定用FileOpen函数打开的文件中的当前读/写位置,或设置用FileOpen函数打开的文件中的下一个读/写操作的位置。
SetAttr函数:设置文件属性信息。
1、顺序文件的操作
从文件中读取字符串
有三个函数可以从顺序文件中读取字符串:Input,InputString和LineInput。
Input函数
从打开的顺序文件中读取数据并将数据分配给变量。
Public Sub Input( FileNumber As Integer, ByRef Value As Object)
其中参数FileNumber为有效文件号;Value为被赋予从文件读取的值的变量,它不能为数组或对象变量。
下面的例子是一个写入和读取文本example.txt的Hello,world!例子,新建一个控制台应用程序,写入下面的代码查看结果。
|
| 共3页: 1 [2] [3] 下一页 | ||
|
|
|||
| · 51CTO主编推荐经典专题 · RAID——磁盘阵列基础 · 充电计划之热门IT认证.. · 51CTO技术自测 挑战自.. · CISSP认证成长之路 · AMD Phenom三核处理器.. · 国际文档格式标准开战 · 2007年互联网大会 |
· 我是黑客我怕谁——讲.. · ARP攻击防范与解决方案 · Solaris 10 配置管理 · Solaris基础知识入门 · RIP路由协议专栏 · MPLS路由协议专栏 · OSPF路由协议专栏 · 思科路由器产品 |
||
|
|||
| · Java基础教程 · VPN技术 · ARP攻击防范与解决方案 · SQL Server 2005全解 · SOA 面向服务架构 · SQL Server 2005全解 · Java编程开发手册 · RAID——磁盘阵列基础 |
· 三层交换技术专题 · SQL Server入门到精通 · Windows Server 2003企.. · Windows远程桌面应用 · C#技术开发指南 · VPN技术 · Solaris 10 配置管理 · C#技术开发指南 |
||
|
|||
| · ARP攻击防范与解决方案 · VPN技术 · SQL Server 2005全解 · Java基础教程 · SQL Server入门到精通 · SQL Server 2005全解 · SOA 面向服务架构 · Java编程开发手册 |
· C#技术开发指南 · 三层交换技术专题 · C#技术开发指南 · Windows远程桌面应用 · RAID——磁盘阵列基础 · Windows Server 2003企.. · 邮件服务器专题 · wimax技术与趋势 |
||
| ·DB2 Viper快速入门 ·DB2 9数据库的镜像分割与.. |
·将XML应用程序从DB2 8.x.. ·DB2 9中的pureXML:如何.. |
| ·服务器中的“傻瓜机”在.. ·盖茨也喜欢登录Youtube看.. |
· · |
| ·拯救系统管理员 ·美国选民:我为什么选布什 |
·VMware公司中文命名挑战赛 ·我们真缺乏创新吗? |
| ·J0ker的CISSP之路:复习-.. ·J0ker的CISSP之路:复习-I.. |
·9月第3周安全回顾 内网安.. ·教你几招识别和防御Web网.. |
| · NGN:下一代网络 · 网络访问中断大排查 · FTTx光纤接入 |
· 教你使用Anti ARP Sniff.. · 网络嗅探教程:使用Snif.. · 常见病毒手工清除方法大.. |
| · C++是垃圾语言?! · 2007年IT界七大抄袭事件 · Java实用开发全集 |
· 解析Ajax开发框架 走进A.. · 基于Google Maps与Ajax.. · 基于Google Maps与Ajax.. |
| · 热门 IT 培训认证官方资.. · Ubuntu 中文开源频道 · Solaris基础知识入门 |
· 费力不讨好 数据中心主.. · AMD Phenom三核处理器解.. · 51CTO主编推荐经典专题 |
| · 甲骨文Oracle 11g正式发.. · Oracle数据库开发之PL/S.. · Oracle数据库开发基础教.. |
· 存储2006,一个并购的大.. · IDC宣布浪潮蝉联存储市.. · 双机热备技术 |