成都创新互联网站制作重庆分公司

vb.net写文件函数 vbnet filestream

vb.net如何读写二进制文件? 有各种类型的变量

open函数用来打开一个文件,其调用的一般形式为:

成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都做网站、成都网站建设、成都外贸网站建设、德宏州网络推广、小程序定制开发、德宏州网络营销、德宏州企业策划、德宏州品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联为所有大学生创业者提供德宏州建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com

文件指针名=fopen(文件名,使用文件方式);

其中,

“文件指针名”必须是被说明为FILE

类型的指针变量;

“文件名”是被打开文件的文件名;

“使用文件方式”是指文件的类型和操作要求。

“文件名”是字符串常量或字符串数组。

例如:

FILE

*fp;

fp=("file

a","r");

其意义是在当前目录下打开文件file

a,只允许进行“读”操作,并使fp指向该文件。

又如:

FILE

*fphzk

fphzk=("c:\\hzk16","rb")

其意义是打开C驱动器磁盘的根目录下的文件hzk16,这是一个二进制文件,只允许按二进制方式进行读操作。两个反斜线“\\

”中的第一个表示转义字符,第二个表示根目录。

使用文件的方式共有12种,下面给出了它们的符号和意义。

文件使用方式

意义

“rt”

只读打开一个文本文件,只允许读数据

“wt”

只写打开或建立一个文本文件,只允许写数据

“at”

追加打开一个文本文件,并在文件末尾写数据

“rb”

只读打开一个二进制文件,只允许读数据

“wb”

只写打开或建立一个二进制文件,只允许写数据

“ab”

追加打开一个二进制文件,并在文件末尾写数据

“rt+”

读写打开一个文本文件,允许读和写

“wt+”

读写打开或建立一个文本文件,允许读写

“at+”

读写打开一个文本文件,允许读,或在文件末追加数据

“rb+”

读写打开一个二进制文件,允许读和写

“wb+”

读写打开或建立一个二进制文件,允许读和写

“ab+”

读写打开一个二进制文件,允许读,或在文件末追加数据

对于文件使用方式有以下几点说明:

1)

文件使用方式由r,w,a,t,b,+六个字符拼成,各字符的含义是:

r(read):

w(write):

a(append):

追加

t(text):

文本文件,可省略不写

b(banary):

二进制文件

+:

读和写

2)

凡用“r”打开一个文件时,该文件必须已经存在,且只能从该文件读出。

3)

用“w”打开的文件只能向该文件写入。若打开的文件不存在,则以指定的文件名建立该文件,若打开的文件已经存在,则将该文件删去,重建一个新文件。

4)

若要向一个已存在的文件追加新的信息,只能用“a”方式打开文件。但此时该文件必须是存在的,否则将会出错。

5)

在打开一个文件时,如果出错,fopen将返回一个空指针值NULL。在程序中可以用这一信息来判别是否完成打开文件的工作,并作相应的处理。因此常用以下程序段打开文件:

6)

if((fp=fopen("c:\\hzk16","rb")==NULL)

{

printf("\nerror

on

open

c:\\hzk16

file

vb.net怎么往已经建立好的dat文件里写东西,还不覆盖原本的数据?

如果想继续编辑之前的文档,在TXT文件尾部继续添加文本,那么还需要在函数后边加个参数。

VB 代码

方法1:

  Dim sw As StreamWriter = New StreamWriter("C:\temp\test.txt")

  sw.Write("abc"  vbCrLf)

sw.Close()

Dim sw2 As StreamWriter = New StreamWriter("C:\temp\test.txt", True)

sw2.Write("456"  vbCrLf)

sw2.Close()

方法2:

  My.Computer.FileSystem.WriteAllText("test.txt", "This is test Text", True)

方法3:

  System.IO.File.AppendAllText("c:\temp\test.txt", "this is extra test file")

详见:“网页链接” 

vb.net读写txt文件的问题

这个用读写TXT的话比较繁琐,建议题主使用读写INI的方式,参考:

'声明INI配置文件读写API函数

Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Int32, ByVal lpFileName As String) As Int32

Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As String, ByVal lpFileName As String) As Int32

'定义读取配置文件函数

Public Function GetINI(ByVal Section As String, ByVal AppName As String, ByVal lpDefault As String, ByVal FileName As String) As String

Dim Str As String = LSet(Str, 256)

GetPrivateProfileString(Section, AppName, lpDefault, Str, Len(Str), FileName)

Return Microsoft.VisualBasic.Left(Str, InStr(Str, Chr(0)) - 1)

End Function

'定义写入配置文件函数

Public Function WriteINI(ByVal Section As String, ByVal AppName As String, ByVal lpDefault As String, ByVal FileName As String) As Long

WriteINI = WritePrivateProfileString(Section, AppName, lpDefault, FileName)

End Function

'定义INI文件位置

Dim path As String

path = "C:\t861239263.ini" '假设是这个文件

那么读取的时候:

TextBox1.Text = GetINI("main","v1","", path)

TextBox2.Text = GetINI("main","v2","", path)

TextBox3.Text = GetINI("main","v3","", path)

写入的时候:

WriteINI("main","v1", TextBox1.Text, path)

WriteINI("main","v2", TextBox2.Text, path)

WriteINI("main","v3", TextBox3.Text, path)

【附】INI文件的格式,范例:

[main]

v1=133233

v2=132387

v3=322333

[aaa]

abc=1

bcd=2

[bbb]

ni=wo

wo=ta

vb.net 编写一个函数

注意:参数为动态数组;

Private Function MyF(ByRef d() As Integer)

ReDim d(4, 13) As Integer

Dim i As Integer

Dim j As Integer

Dim n As Integer

Dim MyNum(4) As Integer

For i = 1 To 4

MyNum(i) = 0

Next i

Randomize

For i = 1 To 4

For j = 1 To 13

n = Int(Rnd * 4 + 1)

Do While MyNum(n) = 13

n = Int(Rnd * 4 + 1)

Loop

d(i, j) = n

MyNum(n) = MyNum(n) + 1

Next j

Next i

End Function


标题名称:vb.net写文件函数 vbnet filestream
本文网址:http://cxhlcq.com/article/ddodogj.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部