VB.NET读写文本文件方法

VB.NET读写文本文件方法,第1张

工作需要 我需要使用对文本文件进行读写 *** 作 编程需要完成如下工作

把程序执行错误追加到错误日志中

使巧巧读书网的编辑能够读取错误日志

记得以前使用vb 的时候 对文本文件的 *** 作挺麻烦的 特别是在写文件的时候 需要区分什么顺序文件 随机文件 很教材都专门针对文本文件的读写开辟了一个章节来讲解 够麻烦的了 现在使用 net读写文本文件 因为时间仓促 没来得及细看MSDN 同时受到 的思路影响 把问题复杂化了 在追加记录到文本文件尾部的时候就写不下去了 后来仔细看了一下MSDN中例子 问题终于得到了解决

好了下面进入正题 分别把中对文本文件进行读和写的通用 *** 作做个示例 免得后来新手多走弯路

我们这里是对文件流进行 *** 作 所以模块前面要加上

Imports System IO

写 *** 作

使用System IO的StreamWriter 下面是代码

Dim strFilePath As String = SaveFileDialog FileName

Dim sw As StreamWriter = New StreamWriter(strFilePath True) true是指以追加的方式打开指定文件

For i = To j

temp = i ToString

sw WriteLine(temp)

sw Flush()

Next

sw Close()

sw = Nothing

首先要说明的是构造函数new

Public Sub New(path append Encoding)

path 要打开文件的完整路径 如果文件不存在则自动建立一个新的文件

append 缺省值为false 指示是否以追加方式打开指定文件 false——如果存在path指定的文件 则覆盖原文件 否则建立一个新文件 true——如果存在path指定的文件 则打开该文件 以追加数据的方式在文尾写数据 否则建立一个新文件

Encoding 缺省值为System Text Encoding Default 即使用系统缺省的编码 指示以什么样的编码写文件

WriterLine(str) 在文本中添加一个新行 同时在行尾加上回车换行符

读 *** 作

Dim line As String

Dim sr As StreamReader = New StreamReader(strPath System Text Encoding Default)

Do While sr Peek() >

line = sr ReadLine()

Loop

sr Close()

sr = Nothing

构造函数new

Public Sub New(Path Encoding)

path 要打开文件的完整路径 如果文件抛出一个错误

Encoding 缺省值为System Text Encoding Default 即使用系统缺省的编码 指示以什么样的编码读文件

lishixinzhi/Article/program/net/201311/11973

1、Open 文件名 [For方式] [Access存取类型] [锁定] AS [#]文件号 [Len=记录长度]

功能:为文件的输入输出分配缓冲区,并确定缓冲区所使用的存取方式

说明:

1)方式:指定文件的输入输出方式,可选,默认是Random,可以是以下值

a、 Output:指定顺序输出方式,将覆盖原有内容

b、 Input:指定顺序输入方式

c、 Append:指定顺序输出方式,在文件未尾追加内容

d、 Random:指定随机存取方式,也是默认方式,在Random方式时,如果没有Access子句,则在执行Open语句时,VB将按下列顺序打开文件:读/写、只读、只写

e、 指定二进制文件。在这种方式下,可以用Get和Put语句对文件中任何字节位置的信息进行读写。在Binary方式中,如果没有Access子句,则打开文件的类型与Random方式相同

2)、存取类型:放在关键字Access之后,用来指定访问文件的类型。可以是下列类型之一

a、 Read:打开只读文件

b、Write:打开只写文件

c、 Read Write:打开读写文件。这种类型只对随机文件、二进制文件及用Append方式打开的文件有效

3)、锁定:该子句只在多用户或多进和环境中使用,用来限制其他用户或其他进程对打开进行读写 *** 作。锁定类型包括:

a、 默认:如不指定锁定类型,则本进程可以多次打开文件进行读写;在文件打开期间,其他进程不能对该文件执行读写 *** 作

b、Lock Shared:任何机器上的任何进程都可以对该文件进行读写 *** 作

c、 Lock Read:不允许其他进程读该 文件。只在没有其他Read存取类型的进程访问该文件时,才允许这种锁定。

d、Lock Write:不允许其他进程写这个文件。只在没有其他Write存取类型的进程访问该文件时,才允许这种锁定

e、 Lock Read Write:不允许其他进程读写这个文件

如果不使用lock子句,则默认为Lock Read write

4)、文件号:由用户自行指定一个由1~511之间的整数,只要该文件号未被使用就合法;打开文件后,可以用该文件号进行读写等 *** 作

5)、记录长度:是一个整型表达式。当选择该参量时,为随机存取文件设置记录长度。对于用随机访问方式打开的文件,该值是记录长度;对于顺序文件,该值是缓冲字符数。”记录长度”不能超过32767字节。对于二进制文件,将忽略Len子句

举例:Open “price.dat” for Output as #1

Open “C:\abc.dat” for radom as #1 len=256

2、Close [#文件号][,#文件号]……:关闭文件

3、Seek #文件号,位置:文件指针跳到指定位置,以字节为单位。取值1~pow(2,31)-1

4、Seek (文件号):返回当前文件指针的位置

5、FreeFile():取得一个未使用的文件号

6、Loc(文件号):返回指定文件的当前读写位置

7、LOF(文件号):返回文件长度

8、EOF(文件号):用来测试文件是否结束,结束返回true

9、Print #文件号,变量1,变量2,…变量n:按顺序将各变量的值写入顺序文件

如果是print #文件号,则写入空行

10、 Write #文件号,表达式表…:作用同 Print

11、 Input #文件号,变量表….:读顺序文件,进行与Print相反的 *** 作

12、 Line Input #文件号,字符串变量:从顺序文件中读入一行

13、 Input$(n,#文件号):从顺序文件读出 n个字符的字符串

14、 Put #文件号,[记录号],变量:把除对象变量和数组变量外的任何变量(包括号含有单个数组元素的下标变量)的内容写入随机文件。

例如:Put #2,,filebuff

15、 Get #文件号,[记录号],变量:读随机文件,执行与put相反的 *** 作

16、 Get|put #文件号,[位置],变量:读写二制文件,位置是指下一次读写 *** 作的位置。

17、 Kill 文件名:删除文件

18、 FileCopy 源文件名,目标文件名:复制文件

19、 Name原文件名 as 新文件名:重命令文件

用open

open <文件名>[for 打开方式] as [#]<文件号>

打开方式有三种

(1)input:向计算机输入数据,即从所打开的文件中读取数据。

(2)output:向文件写数据,即从计算机向所打开的文件写数据。如果文件中原来已有数据,则原有数据被抹去,即新写上的数据覆盖已有的数据。

(3)append:向文件添加数据,即从计算机向所打开的文件写数据。不同于output方式的是,append方式把新的数据添加到文件尾部原有数据的后边,文件中保留原有数据。

AS是一个关键字,as引导的短语为打开的文件指定一个文件号。#号是可选项。文件号是一个1~511之间的整数。文件号用来代表所打开的文件。

例如:打开c:\a.txt文件

open "c:\a.txt" for output as #1

向文件写数据用print和write语句:

print #<文件号>[,输出表列]

write #<文件号>〔,输出表列]

例如向上面打开的文件写数据

print #1,"a""b""c"

close #1

文件里显示为:

abc


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/7918181.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存