Enunciado
Usando Visual Basic .NET, descargar un archivo comprimido desde un sitio web, descomprimirlo e importar el contenido, importando sus líneas en una base de datos. Todo ello sin guardar en disco una copia, esto es trabajando en memoria.
Solución
Se utiliza la librería dotnetzip y la clase webclient de .net Framework
Imports System.Web, System.IO, System.Net, Ionic.Zip, Microsoft.AnalysisServices Module Module1 Sub ejemplo() Dim cliente As New WebClient Dim datos As Byte() datos = cliente.DownloadData(My.Settings.CaminoZIP) Dim cola = New MemoryStream(datos) Dim comprimido = ZipFile.Read(cola) Dim Entrada = comprimido.Entries(0) Dim colaMemoria As New MemoryStream Entrada.Extract(colaMemoria) colaMemoria.Position = 0 Dim lector As New StreamReader(colaMemoria) lector.ReadLine() Do While Not lector.EndOfStream Dim lineaDatos = LeeLineaGas(lector.ReadLine, Today) If lineaDatos IsNot Nothing Then bd.ImportacionGas.InsertOnSubmit(lineaDatos) Loop End Sub end module
No hay comentarios:
Publicar un comentario