Visual Basic.NET是基于微软.NET Framework之上的面向对象的编程语言。
创新互联建站是一家专注于网站制作、做网站与策划设计,成县网站建设哪家好?创新互联建站做网站,专注于网站建设十年,网设计领域的专业建站公司;建站业务涵盖:成县等地区。成县做网站价格咨询:028-86922220
其在调试时是以解释型语言方式运作,而输出为EXE程序是是以编译型语言方式运作。
可以看作是Visual Basic在.Net Framework平台上的升级版本,增强了对面向对象的支持。大多的VB.Net程序员使用Visual Studio .Net作为IDE(integrated development environment).SharpDevelop是另一种可用的开源的IDE。
VB.Net需要在.Net Framework平台上才能执行。[1]
一、二进制文件读写
1、写二进制数据到指定目录
==将barray字节数组中的数据创建在strFilename目录文件下,存储格式为二进制,False表示不添加,直接覆盖创建。
2、从指定路径下读取二进制数据到数组
==将目录中的文件读取到barry字节数组中,即读取二进制文件。
二、字符文件的读写
1、 将txtFile控件中的字符写到srtFileName指定目录,以创建方式。
2、从srtFileName目录中的文件读取到txtFile控件
本示例阐释二进制文件的基本输入和输出(使用 BinaryReader、BinaryWriter 和 FileStream 类。 在如何创建日志文件标题下面有一个类似的主题。读写二进制信息使您可以创建和使用通过其他输入和输出方法无法访问的文件。本示例还展示写入非字符串数据,并展示二进制 I/O 的功能。
尽管计算机上的文件可以不同的类型和文件存储,但是,二进制格式是文件的较常用格式之一。此处对创建二进制文件的简短介绍使用基类 BinaryReader 和 BinaryWriter 从文件获取信息,并将信息放入文件。这些类中的每个类均封装一个信息流,因此,在进一步操作之前,需要创建一个可用于来回写信息的流。因为要创建文件,所以可使用 FileStream 来公开特定文件,在此情况下,如果该文件已存在,则可以修改该文件,或者如果该文件尚不存在,则可以创建该文件。在有 FileStream 之后,可以使用它来构造 BinaryReader 和 BinaryWriter
在读入信息之后,可以对信息进行所需的任何操作。但是,在某些时候,您可能想要将信息写回文件,因此需要 BinaryWriter。在本示例中,您将使用 Seek 方法将信息追加到文件结尾,因此,在开始写入之前,请确保指向文件的指针位于文件结尾。在使用 BinaryWriter 写入信息时有多个选项。因为 Write 方法有足够的重载用于您能够写入的所有信息类型,所以,可以使用 Write 方法向您的编写器封装的流写入任何标准形式的信息。本情况下,还可以使用 WriteString 方法向流中写入长度预先固定的字符串。
VB Source: VB\ReadWrite.aspx
%@ Import Namespace="System.Text" %
%@ Import Namespace="System.IO" %
script language="VB" runat=server
Class TestBinary
Public Shared Function ReadFile(selection As String) As String
Dim output As StringBuilder = New StringBuilder()
Dim fs As FileStream = New FileStream("data.bin", FileMode.OpenOrCreate)
Dim r As BinaryReader = New BinaryReader(fs)
Try
r.BaseStream.Seek(0,SeekOrigin.Begin) ' 将文件指针设置到文件开始
' 因为不同数据类型之间的很多转换结果都是不可解释的,
' 所以当在其他类型与二进制数据之间进行转换时,
' 必须捕捉可能引发的任何潜在的异常...
' 能够正确读取数据依赖于如何写入信息...
' 这与写日志文件时不同。
Do While r.BaseStream.Position r.BaseStream.Length ' 当未到达文件结尾时
Select Case selection
Case "Boolean"
output.Append( r.ReadBoolean().ToString() )
Case "String"
output.Append( r.ReadString() )
Case "Integer"
output.Append( r.ReadInt32().ToString() )
End Select
Loop
Finally
fs.Close()
End Try
return output.ToString()
End Function
Public Shared Function WriteFile(output As Object, selection As String) As String
Dim fs As FileStream = New FileStream("data.bin", FileMode.Create)
Dim w As BinaryWriter = New BinaryWriter(fs)
Dim strOutput As String = ""
w.BaseStream.Seek(0, SeekOrigin.End) ' 将文件指针设置到文件结尾
' 因为正在写的信息可能不适合于所选择用于写入的特定样式
' (例如,单词“Hello”作为整数?),所以我们必须捕捉写入
' 错误,并通知用户未能执行该任务
Try
Select Case selection
Case "Boolean"
Dim b As Boolean = Convert.ToBoolean(output)
w.Write( b )
Case "String"
Dim s As String = Convert.ToString(output)
w.Write( s )
Case "Integer"
Dim i As Int32 = Convert.ToInt32(output)
w.Write(i)
End Select
Catch E As Exception
' 让用户知道未能写入该信息
strOutput = "写异常:" chr(13) _
"无法以所请求的格式写入要写入的信息。" _
chr(13) "请输入尝试写入的数据类型的有效值"
End Try
fs.Close()
return strOutput
End Function
End Class
Sub btnAction_Click(src As Object, E As EventArgs)
Dim s As String = ""
' 写出文件
s = TestBinary.WriteFile(txtInput.Text, lstDataIn.SelectedItem.Text)
If s = "" Then
Try
' 读回信息,显示信息...
txtOutput.Text = TestBinary.ReadFile(lstDataIn.SelectedItem.Text)
Catch Exc As Exception
' 让用户知道未能写入信息
s = "读异常:" chr(13) _
"无法以所请求的格式读取要写入的信息。" _
chr(13) "请输入尝试写入的数据类型的有效值"
End Try
Else
txtOutput.Text = s
End If
End Sub
/script
html
head
link rel="stylesheet" href="intro.css"
/head
body style="background-color:f6e4c6"
form method=post runat="server"
p
table
tr
tdb
下面的示例使用 BinaryWriter 对象创建一个二进制文件,然后使用 BinaryReader 读取该信息。/b可以选择不同的对象来将所需的信息写入文件
此演示用于强调您需要知道如何读取已写入的二进制文件。一旦以某种格式写入数据,就只能以该格式读取该信息。但是,可以将多种不同的数据类型写入文件。在此演示中,输入任意字符串并将它们作为字符串读取,对于整型,仅输入整型数值项(试试浮点数字,然后看看会发生什么...);对于布尔型项,仅输入词“false”和“true”。
p
hr
/td
/tr
/table
asp:Table id="basetable" runat="server" border="0" cellspacing="0" cellpadding="5"
asp:tablerow
asp:tablecell verticalalign="top"
请选择要保存到二进制文件的数据类型...
/asp:tablecell
asp:tablecell verticalalign="top"
asp:listbox id="lstDataIn" runat="server"
asp:listitemBoolean/asp:listitem
asp:listitem selected="true"String/asp:listitem
asp:listitemInteger/asp:listitem
/asp:listbox
/asp:tablecell
asp:tablecell verticalalign="top"
asp:button id="btnAction" onclick="btnAction_Click" Text="写入/读取文件" runat="server"/
/asp:tablecell
/asp:tablerow
一般来讲asp.net的服务器运行应用所用的账号只有对应用所在目录(放网页的目录)的访问权限,你可以把文件存储在应用所在目录或者子目录试试。
My.Computer.FileSystem.WriteAllText(Server.MapPath("") “\" Now.toString("yyyyMMdd") ".txt", "URL:XXXXXX查询完成,匹配成功!" vbCrLf, true, System.Text.Encoding.Default)
open函数用来打开一个文件,其调用的一般形式为:
文件指针名=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读写INI配置文件
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim path As String
path = Application.StartupPath + "\Send.ini"
TextBox1.Text = GetINI("Send", "Send1", "", path)
TextBox2.Text = GetINI("Send", "Send2", "", path)
Dim IsSms As Integer = GetINI("Send", "IsSms", "", path)
If (IsSms = 1) Then
Me.RadioButton1.Checked = True
ElseIf (IsSms = 0) Then
Me.RadioButton2.Checked = True
End If
End Sub
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
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
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
Dim path As String
path = Application.StartupPath + "\Send.ini"
WriteINI("Send", "Send1", TextBox1.Text, path)
WriteINI("Send", "Send2", TextBox2.Text, path)
If (Me.RadioButton1.Checked = True) Then
WriteINI("Send", "IsSms", 1, path)
ElseIf (Me.RadioButton2.Checked = True) Then
WriteINI("Send", "IsSms", 0, path)
End If
MsgBox("配置设置已经成功!!!!")
Catch ex As Exception
MsgBox("错误!!!!")
End Try
End Sub