Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Imports Newtonsoft.Json
- Public Class FileHelper(Of T)
- Function ObtenerDeArchivo(ByVal rutaArchivoTxt As String) As List(Of T)
- Dim lector As New System.IO.StreamReader(rutaArchivoTxt)
- Dim alumnosSerializados As List(Of String) = New List(Of String)
- Do While Not lector.EndOfStream
- alumnosSerializados.Add(lector.ReadLine())
- Loop
- lector.Close()
- 'En teoría todas las líneas no deben estar vacías pero porsiaca
- 'seleccionamos solo los que no están vacíos y los deserializamos
- Dim alumnosDeserializados = (From a In alumnosSerializados
- Where Not String.IsNullOrWhiteSpace(a)
- Select JsonConvert.DeserializeObject(Of T)(a)).ToList()
- Return alumnosDeserializados
- End Function
- Sub AgregarEnArchivo(ByVal rutaArchivoTxt As String, ByRef alumno As T)
- Dim grabador As System.IO.StreamWriter
- grabador = My.Computer.FileSystem.OpenTextFileWriter(rutaArchivoTxt, True)
- Dim alumnoSerializado = JsonConvert.SerializeObject(alumno)
- grabador.WriteLine(alumnoSerializado)
- grabador.Close()
- End Sub
- 'o quizás te sirva más mandar toda la lista y reemplazar todo el contenido
- Sub EscribirListaEnArchivo(ByVal rutaArchivoTxt As String, ByRef listaAlumnos As List(Of T))
- Dim grabador As System.IO.StreamWriter
- grabador = My.Computer.FileSystem.OpenTextFileWriter(rutaArchivoTxt, False)
- For Each alumno In listaAlumnos
- Dim alumnoSerializado = JsonConvert.SerializeObject(alumno)
- grabador.WriteLine(alumnoSerializado)
- Next
- grabador.Close()
- End Sub
- End Class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement