dim filename as string = "文件名" Using myfilestream As New FileStream(FileName, FileMode.Open, FileAccess.Read)

公司主營(yíng)業(yè)務(wù):成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。創(chuàng)新互聯(lián)推出安國(guó)免費(fèi)做網(wǎng)站回饋大家。
Dim data() As Byte
ReDim data(myfilestream.Length - 1)
myfilestream.Read(data, 0, myfilestream.Length)
myfilestream.Close()
' data是你要的結(jié)果,為byte(), End Using
'緩沖區(qū)長(zhǎng)度
Const BufLen As Integer=800
'包發(fā)送間隔
Const Interval As Integer=62
'緩沖區(qū)
Dim buf As Byte()=Nothing
'遠(yuǎn)程(目的)網(wǎng)絡(luò)端點(diǎn)
Dim remoteep As IPEndPoint=Nothing
'如果你已將s定義為類的成員變量(實(shí)例或共享),注釋掉下面這句
Dim s As UdpClient=Nothing
Dim willread As Integer
Try
buf=New Byte(BufLen-1) {}
s=New UdpClient()
' TextBox1.Text包含遠(yuǎn)程(目的)主機(jī)的IP地址
' TextBox2.Text包含遠(yuǎn)程(目的)主機(jī)的端口號(hào)
remoteep=New IPEndPoint(IPAddress.Parse(Trim(TextBox1.Text)),CInt(TextBox2.Text))
' Label2.Text包含要發(fā)送的文件的路徑
Using fs As New FileStream(Label2.Text,FileMode.Open,FileAccess.Read)
While fs.Positionfs.Length
willread=BufLen
If fs.Length-fs.PositionBufLen Then
willread=CInt(fs.Length-fs.Position)
End If
fs.Read(buf,0,willread)
s.Send(buf,willread,remoteep)
Thread.Sleep(Interval)
End While
End Using
Catch ex As Exception
MsgBox(ex.ToString())
Finally
If s IsNot Nothing Then
s.Close()
End If
End Try
open函數(shù)用來(lái)打開一個(gè)文件,其調(diào)用的一般形式為:
文件指針名=fopen(文件名,使用文件方式);
其中,
“文件指針名”必須是被說(shuō)明為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)說(shuō)明:
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。在程序中可以用這一信息來(lái)判別是否完成打開文件的工作,并作相應(yīng)的處理。因此常用以下程序段打開文件:
6)
if((fp=fopen("c:\\hzk16","rb")==NULL)
{
printf("\nerror
on
open
c:\\hzk16
file
Using?FolderBrowserDialog?As?New?FolderBrowserDialog
If?FolderBrowserDialog.ShowDialog?=?Windows.Forms.DialogResult.OK?Then
Dim?資料夾?As?String()?=?System.IO.Directory.GetFiles(FolderBrowserDialog.SelectedPath,?"*")
For?Each?文件?In?資料夾
MsgBox(My.Computer.FileSystem.ReadAllText(文件))?'讀取數(shù)據(jù)
My.Computer.FileSystem.WriteAllText(文件,?"數(shù)據(jù)",?False)?'寫入數(shù)據(jù)
Next
End?If
End?Using
使用DataSet類來(lái)完成這項(xiàng)任務(wù)。
DataSet對(duì)象在傳輸時(shí),是以XML流的形式而不是以COM形式傳輸?shù)摹ataSet對(duì)象可以讀取XML數(shù)據(jù)文件或者數(shù)據(jù)流,從而將樹型結(jié)構(gòu)的XML數(shù)據(jù)轉(zhuǎn)換成關(guān)系型的數(shù)據(jù),如表(DataTable)、列(DataColumn)、行(DataRow)等。
在這個(gè)實(shí)例中,我們將XML文件命名為“xmlfile.xml”,具體內(nèi)容如下:
?xml version=\"1.0\"standalone=”yes”?
Detail
Person
NameManish/Name
Age22/Age
/Person
/Detail \'用VB.NET讀寫XML文件
C1aSS WriteXML
Shared Sub main()
Dim obj DataSet As New System.Data.DataSet()
Dim strVirtualPath As String=”t.xml”
\'載入XML文件DataSet
objDataSet.ReadXml(”xmlfile.xml”)
\'通過(guò)控制器讀取XML內(nèi)容
Console.Write(objDataSet.GetXml)
\'從原XML文件中得到數(shù)據(jù)
ConSOle.Write(”Enter Name:”)
Dim fname,age As String
fname=ConS01e.ReadLine
\'寫入你希望的代碼
ConS01e.Write(”Enter Age:”)
age=Console.ReadLine
ConS0le.Write(fname&age)
Dim v(1)As String
v(0)=fname
V(1)=age
\'增加數(shù)據(jù)DataSet
objDataSet.Tables(0).Rows.Add(V)
\'更新XML文件
objDataSet.WriteXml(”xmlfile.xml”)
Console.Write(obj DataSet.GetXml)
End Sub
End C1ass
運(yùn)行該程序有兩種方式,一種是在Microso~VS.NET框架中編譯完后運(yùn)行;另一種則是在仿DOS的Command窗口中運(yùn)行。在第一種方式中,必須加上System、System.Data、System.xML的引用。具體方法為:先創(chuàng)建一個(gè)空的項(xiàng)目,然后加入這個(gè)文件名字;在“解決方案資源管理器”中加入引用,此時(shí)需要選擇相應(yīng)的.dll文件;注意,xmlfile.xml文件應(yīng)該放在工程的/bin目錄下面。我們可以輸出結(jié)果也可以用瀏覽器直接查看改變后的XML文件。在第二種方式中,選擇桌面的“程序”一“Microso~Visual Studio.NET”一“VisualStudio.NET工具”一“Visual Studio.NET命令提示”命令,在DOS命令提示框敲入命令:[Page]
vbc/r:system.d11/r:system.data.d11/r:system.xml.d11 xml.vb其中,程序名為xml.vb,這里的3個(gè).dll文件都是必須調(diào)用的庫(kù)文件。應(yīng)該在存放VB.NET文件的目錄中運(yùn)行上述命令,否則找不到相應(yīng)的程序,當(dāng)然設(shè)置PATH也可以做到。此外,Xml_vb文件應(yīng)該和XML文件放在同一目錄下面。每次運(yùn)行此程序都會(huì)往文件中寫進(jìn)同樣的內(nèi)容,都是寫入Person/,運(yùn)行一次寫一行。其實(shí),我們只要稍微修改一下這個(gè)程序,就可以往XML中寫入我們所需要的數(shù)據(jù)。
軟糖來(lái)告訴你吧。
VB.net中讀寫文件主要使用System.IO命名空間。
① 使用 File.ReadAllText 讀取
Dim s As String = System.IO.File.ReadAllText("C:\a.txt")
② 使用 StreamReader 讀取,注意編碼格式和寫入的編碼保持一致。
Dim sr As StreamReader = New StreamReader("C:\a.txt", System.Text.Encoding.UTF8)
Dim s As String = sr.ReadToEnd()
sr.Close()
③ 使用 File.WriteAllText 寫入,會(huì)覆蓋同名的文件。
Dim 要寫的內(nèi)容 As String = ""
File.WriteAllText(文件路徑, 要寫的內(nèi)容, System.Text.Encoding.UTF8)
④ 使用 StreamWriter 寫入。
Dim sw As System.IO.StreamWriter = New System.IO.StreamWriter("C:\a.txt", False, System.Text.Encoding.UTF8)
sw.WriteLine(TextTB.Text)
sw.Close()
⑤ 使用 StreamWriter 追加寫入。
將上面代碼的第二個(gè)參數(shù)False改為True。
◆ 滿意請(qǐng)采納,謝謝 ◆
本文題目:vb.net文件數(shù)據(jù)流的簡(jiǎn)單介紹
網(wǎng)頁(yè)路徑:http://chinadenli.net/article17/dsijigj.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、網(wǎng)站制作、建站公司、微信小程序、面包屑導(dǎo)航、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)