VB.Net/File Directory/Binary File Write
Creating a random file
Imports System.IO
Imports System.Collections
Imports System.Windows.Forms
Imports System.Runtime.Serialization.Formatters.Binary
Imports System.Runtime.Serialization
Public Class MainClass
Public Shared Sub Main()
Const NUMBER_OF_RECORDS As Integer = 100
" record for writing to disk
Dim blankRecord As Employee = New Employee("f","l")
Dim fileOutput As FileStream
Dim binaryOutput As BinaryWriter
Dim fileName As String = "test.dat"
Dim i As Integer
Try
fileOutput = New FileStream(fileName,FileMode.Create, FileAccess.Write)
fileOutput.SetLength(Employee.SIZE * NUMBER_OF_RECORDS)
binaryOutput = New BinaryWriter(fileOutput)
For i = 0 To NUMBER_OF_RECORDS - 1
fileOutput.Position = i * Employee.SIZE
binaryOutput.Write(blankRecord.firstName)
binaryOutput.Write(blankRecord.lastName)
Next
Console.WriteLine("File Created")
Catch fileException As IOException
Console.WriteLine("Cannot write to file")
End Try
" close FileStream
If (fileOutput Is Nothing) <> False Then
fileOutput.Close()
End If
" close BinaryWriter
If (binaryOutput Is Nothing) <> False Then
binaryOutput.Close()
End If
End Sub
End Class
<Serializable()> Public Class Employee
Public firstName, lastName As String
Shared Public SIZE As Integer = 200
Public Sub New(ByVal first As String, ByVal last As String)
firstName = first
lastName = last
End Sub
Public Overrides Function ToString() As String
Return firstName & " " & lastName
End Function
End Class
Save Structure to a Binary File
Imports System
Imports System.IO
Imports System.Windows.Forms
Public Class MainClass
Shared Sub Main()
Dim emp As New Employee
Dim file_num As Integer = FreeFile()
FileOpen(file_num, "MYFILE.DAT", OpenMode.Random, _
OpenAccess.ReadWrite, OpenShare.Shared, _
Len(emp))
FilePut(file_num, New Employee(1, "A", "A"))
FilePut(file_num, New Employee(2, "B", "B"))
FilePut(file_num, New Employee(3, "C", "C"))
FilePut(file_num, New Employee(4, "D", "D"))
FilePut(file_num, New Employee(5, "E", "E"))
FilePut(file_num, New Employee(6, "F", "F"))
" Close the file.
FileClose(file_num)
End Sub
End Class
Public Structure Employee
Public ID As Integer
<VBFixedString(15)> Public FirstName As String
<VBFixedString(15)> Public LastName As String
Public Sub New(ByVal new_id As Integer, ByVal first_name As String, _
ByVal last_name As String)
ID = new_id
FirstName = first_name
LastName = last_name
End Sub
Public Overrides Function ToString() As String
Return ID & ": " & FirstName & " " & LastName
End Function
End Structure
Use BinaryWriter to store information into a binary file
Imports System
Imports System.IO
Public Class MainClass
Shared Sub Main()
Dim aFileStream As FileStream
Try
aFileStream = New FileStream("test.txt", FileMode.OpenOrCreate,FileAccess.Write)
Dim myBinaryWriter As New BinaryWriter(aFileStream)
myBinaryWriter.Write("Hello world")
myBinaryWriter.Write(1)
Catch e As Exception
Console.WriteLine(e.StackTrace)
Finally
If Not (aFileStream Is Nothing) Then aFileStream.Close()
End Try
End Sub
End Class