Imports System.IO Imports System.IO.Compression Imports Microsoft.VisualBasic.ApplicationServices.Zip Imports Microsoft.VisualBasic.MachineLearning.Darwinism.NonlinearGridTopology ''' ''' 使用zip压缩的形式,将population保存为临时文件 ''' Public Class PopulationZip ReadOnly target$ ''' ''' The target zip file ''' ''' Sub New(target$) Me.target = target End Sub Public Sub Add(genome As GridSystem) Dim temp = App.GetAppSysTempFile(".grid", App.PID, "population_") Using file As FileStream = temp.Open Call genome.Serialize(file, chunkSize:=2048) End Using Call ZipLib.AddToArchive( files:={temp}, archiveFullName:=target, action:=ArchiveAction.Merge, fileOverwrite:=Overwrite.Always, compression:=CompressionLevel.Fastest ) Call temp.DeleteFile End Sub End Class