vb.net二進(jìn)制寫 二進(jìn)制轉(zhuǎn)十六進(jìn)制vb程序?qū)懛?/h1>

vb.net如何讀寫二進(jìn)制文件? 有各種類型的變量

open函數(shù)用來打開一個(gè)文件,其調(diào)用的一般形式為:

我們提供的服務(wù)有:網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、岑鞏ssl等。為數(shù)千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的岑鞏網(wǎng)站制作公司

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

其中,

“文件指針名”必須是被說明為FILE

類型的指針變量;

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

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

“文件名”是字符串常量或字符串?dāng)?shù)組。

例如:

FILE

*fp;

fp=("file

a","r");

其意義是在當(dāng)前目錄下打開文件file

a,只允許進(jìn)行“讀”操作,并使fp指向該文件。

又如:

FILE

*fphzk

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

其意義是打開C驅(qū)動(dòng)器磁盤的根目錄下的文件hzk16,這是一個(gè)二進(jìn)制文件,只允許按二進(jìn)制方式進(jìn)行讀操作。兩個(gè)反斜線“\\

”中的第一個(gè)表示轉(zhuǎn)義字符,第二個(gè)表示根目錄。

使用文件的方式共有12種,下面給出了它們的符號(hào)和意義。

文件使用方式

意義

“rt”

只讀打開一個(gè)文本文件,只允許讀數(shù)據(jù)

“wt”

只寫打開或建立一個(gè)文本文件,只允許寫數(shù)據(jù)

“at”

追加打開一個(gè)文本文件,并在文件末尾寫數(shù)據(jù)

“rb”

只讀打開一個(gè)二進(jìn)制文件,只允許讀數(shù)據(jù)

“wb”

只寫打開或建立一個(gè)二進(jìn)制文件,只允許寫數(shù)據(jù)

“ab”

追加打開一個(gè)二進(jìn)制文件,并在文件末尾寫數(shù)據(jù)

“rt+”

讀寫打開一個(gè)文本文件,允許讀和寫

“wt+”

讀寫打開或建立一個(gè)文本文件,允許讀寫

“at+”

讀寫打開一個(gè)文本文件,允許讀,或在文件末追加數(shù)據(jù)

“rb+”

讀寫打開一個(gè)二進(jìn)制文件,允許讀和寫

“wb+”

讀寫打開或建立一個(gè)二進(jìn)制文件,允許讀和寫

“ab+”

讀寫打開一個(gè)二進(jìn)制文件,允許讀,或在文件末追加數(shù)據(jù)

對(duì)于文件使用方式有以下幾點(diǎn)說明:

1)

文件使用方式由r,w,a,t,b,+六個(gè)字符拼成,各字符的含義是:

r(read):

w(write):

a(append):

追加

t(text):

文本文件,可省略不寫

b(banary):

二進(jìn)制文件

+:

讀和寫

2)

凡用“r”打開一個(gè)文件時(shí),該文件必須已經(jīng)存在,且只能從該文件讀出。

3)

用“w”打開的文件只能向該文件寫入。若打開的文件不存在,則以指定的文件名建立該文件,若打開的文件已經(jīng)存在,則將該文件刪去,重建一個(gè)新文件。

4)

若要向一個(gè)已存在的文件追加新的信息,只能用“a”方式打開文件。但此時(shí)該文件必須是存在的,否則將會(huì)出錯(cuò)。

5)

在打開一個(gè)文件時(shí),如果出錯(cuò),fopen將返回一個(gè)空指針值NULL。在程序中可以用這一信息來判別是否完成打開文件的工作,并作相應(yīng)的處理。因此常用以下程序段打開文件:

6)

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

{

printf("\nerror

on

open

c:\\hzk16

file

vb.net二進(jìn)制怎么讀取文件?

一、二進(jìn)制文件讀寫

1、寫二進(jìn)制數(shù)據(jù)到指定目錄

==將barray字節(jié)數(shù)組中的數(shù)據(jù)創(chuàng)建在strFilename目錄文件下,存儲(chǔ)格式為二進(jìn)制,F(xiàn)alse表示不添加,直接覆蓋創(chuàng)建。

2、從指定路徑下讀取二進(jìn)制數(shù)據(jù)到數(shù)組

==將目錄中的文件讀取到barry字節(jié)數(shù)組中,即讀取二進(jìn)制文件。

二、字符文件的讀寫

1、 將txtFile控件中的字符寫到srtFileName指定目錄,以創(chuàng)建方式。

2、從srtFileName目錄中的文件讀取到txtFile控件

vb.net 二進(jìn)制讀取文件

VB.NET打開二進(jìn)制文件用fileopen完成,打開二進(jìn)制文件的形式為:openmode.binary

讀取二進(jìn)制文件用的是fileget方法,寫入二進(jìn)制文件用的是fileput方法。

應(yīng)用示例:將一批隨機(jī)數(shù)保存在一個(gè)dat文件中,然后再將其提取到文本框中。

二進(jìn)制文件的讀寫一批隨機(jī)數(shù)的存取,程序?yàn)椋?/p>

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim x, i, fn As Integer

Dim s As String = ""

fn = FreeFile()

FileOpen(fn, "d:\data.dat", OpenMode.Binary)

For i = 1 To 8

x = Int(Rnd() * 100)

s = s + Str(x)

FilePut(fn, x)

Next

FileClose(fn)

TextBox1.Text = s

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Dim x, fn As Integer

Dim s As String = ""

fn = FreeFile()

FileOpen(fn, "d:\data.dat", OpenMode.Binary)

Do While Not EOF(fn)

FileGet(fn, x)

s = s + Str(x) + " "

Loop

FileClose(fn)

TextBox1.Text = s

End Sub

VB.NET 怎么讀寫二進(jìn)制文件,類似Open

本示例闡釋二進(jìn)制文件的基本輸入和輸出(使用 BinaryReader、BinaryWriter 和 FileStream 類。 在如何創(chuàng)建日志文件標(biāo)題下面有一個(gè)類似的主題。讀寫二進(jìn)制信息使您可以創(chuàng)建和使用通過其他輸入和輸出方法無法訪問的文件。本示例還展示寫入非字符串?dāng)?shù)據(jù),并展示二進(jìn)制 I/O 的功能。

盡管計(jì)算機(jī)上的文件可以不同的類型和文件存儲(chǔ),但是,二進(jìn)制格式是文件的較常用格式之一。此處對(duì)創(chuàng)建二進(jìn)制文件的簡短介紹使用基類 BinaryReader 和 BinaryWriter 從文件獲取信息,并將信息放入文件。這些類中的每個(gè)類均封裝一個(gè)信息流,因此,在進(jìn)一步操作之前,需要?jiǎng)?chuàng)建一個(gè)可用于來回寫信息的流。因?yàn)橐獎(jiǎng)?chuàng)建文件,所以可使用 FileStream 來公開特定文件,在此情況下,如果該文件已存在,則可以修改該文件,或者如果該文件尚不存在,則可以創(chuàng)建該文件。在有 FileStream 之后,可以使用它來構(gòu)造 BinaryReader 和 BinaryWriter

在讀入信息之后,可以對(duì)信息進(jìn)行所需的任何操作。但是,在某些時(shí)候,您可能想要將信息寫回文件,因此需要 BinaryWriter。在本示例中,您將使用 Seek 方法將信息追加到文件結(jié)尾,因此,在開始寫入之前,請(qǐng)確保指向文件的指針位于文件結(jié)尾。在使用 BinaryWriter 寫入信息時(shí)有多個(gè)選項(xiàng)。因?yàn)?Write 方法有足夠的重載用于您能夠?qū)懭氲乃行畔㈩愋?,所以,可以使?Write 方法向您的編寫器封裝的流寫入任何標(biāo)準(zhǔn)形式的信息。本情況下,還可以使用 WriteString 方法向流中寫入長度預(yù)先固定的字符串。

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) ' 將文件指針設(shè)置到文件開始

' 因?yàn)椴煌瑪?shù)據(jù)類型之間的很多轉(zhuǎn)換結(jié)果都是不可解釋的,

' 所以當(dāng)在其他類型與二進(jìn)制數(shù)據(jù)之間進(jìn)行轉(zhuǎn)換時(shí),

' 必須捕捉可能引發(fā)的任何潛在的異常...

' 能夠正確讀取數(shù)據(jù)依賴于如何寫入信息...

' 這與寫日志文件時(shí)不同。

Do While r.BaseStream.Position r.BaseStream.Length ' 當(dāng)未到達(dá)文件結(jié)尾時(shí)

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) ' 將文件指針設(shè)置到文件結(jié)尾

' 因?yàn)檎趯懙男畔⒖赡懿贿m合于所選擇用于寫入的特定樣式

' (例如,單詞“Hello”作為整數(shù)?),所以我們必須捕捉寫入

' 錯(cuò)誤,并通知用戶未能執(zhí)行該任務(wù)

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) _

"無法以所請(qǐng)求的格式寫入要寫入的信息。" _

chr(13) "請(qǐng)輸入嘗試寫入的數(shù)據(jù)類型的有效值"

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) _

"無法以所請(qǐng)求的格式讀取要寫入的信息。" _

chr(13) "請(qǐng)輸入嘗試寫入的數(shù)據(jù)類型的有效值"

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 對(duì)象創(chuàng)建一個(gè)二進(jìn)制文件,然后使用 BinaryReader 讀取該信息。/b可以選擇不同的對(duì)象來將所需的信息寫入文件

此演示用于強(qiáng)調(diào)您需要知道如何讀取已寫入的二進(jìn)制文件。一旦以某種格式寫入數(shù)據(jù),就只能以該格式讀取該信息。但是,可以將多種不同的數(shù)據(jù)類型寫入文件。在此演示中,輸入任意字符串并將它們作為字符串讀取,對(duì)于整型,僅輸入整型數(shù)值項(xiàng)(試試浮點(diǎn)數(shù)字,然后看看會(huì)發(fā)生什么...);對(duì)于布爾型項(xiàng),僅輸入詞“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"

請(qǐng)選擇要保存到二進(jìn)制文件的數(shù)據(jù)類型...

/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

分享標(biāo)題:vb.net二進(jìn)制寫 二進(jìn)制轉(zhuǎn)十六進(jìn)制vb程序?qū)懛?/a>
新聞來源:
http://muchs.cn/article6/hphsig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)域名注冊、響應(yīng)式網(wǎng)站、電子商務(wù)、品牌網(wǎng)站制作、定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)