Diciamo che stai sbagliando il metodo.
Il mio consiglio è quello si di creare una struttura come hai fatto, popolare un'arrayList con la/le strutture create e serializzare il tutto. In questo modo non hai il problema dell'accodamento del file e non hai il problema di recuperare le password quando deserializzi.
Quindi:
codice:
Dim myList As New ArrayList
<Serializable()> _
Structure PWD
Dim Programma As String
Dim Username As String
Dim Password As String
Sub New(ByVal programma As String, ByVal username As String, ByVal password As String)
Me.Programma = programma
Me.Password = password
Me.Username = username
End Sub
End Structure
Sub AddItem()
Dim myPWD As New PWD("mioProgramma", "MioUsername", "miaPassword")
myList.Add(myPWD)
myPWD = New PWD("mioProgramma2", "MioUsername2", "miaPassword2")
myList.Add(myPWD)
myList.TrimToSize()
Dim stream As FileStream = File.Open("C:\mioFile.bin", FileMode.Create)
Dim formatter As New BinaryFormatter()
formatter.Serialize(stream, myList)
stream.Close()
End Sub
Quando recuperi:
è
codice:
Sub Deserialize()
Dim lista As ArrayList
Dim stream As FileStream = File.Open("C:\mioFile.bin", FileMode.Open)
Dim formatter As New BinaryFormatter()
lista = formatter.Deserialize(Stream)
stream.Close()
End Sub
Scusa per la frettolosità del codice.