Example: /Compression/Old ZipMBS class/test huge files with big archive

Online Documentation   -   Statistics   -   FAQ   -   Plugin Parts (All, Dependencies)   -   Class hierarchy

New in Version 22.2 22.3 22.4 22.5 23.0 23.1 23.2 23.3 23.4 23.5 24.0 24.1

The list of the   topics,   classes,   interfaces,   controls,   modules,   global methods by category,   global methods by name,   screenshots,   licenses   and   examples.

Platforms to show: All Mac Windows Linux Cross-Platform

/Compression/Old ZipMBS class/test huge files with big archive


Required plugins for this example: MBS Util Plugin, MBS Compression Plugin

You find this example project in your Plugins Download as a Xojo project file within the examples folder: /Compression/Old ZipMBS class/test huge files with big archive

This example is the version from Sun, 17th Mar 2012.

Project "test huge files with big archive.xojo_binary_project"
MenuBar MenuBar1
MenuItem UntitledMenu1 = ""
MenuItem FileMenu = "&File"
MenuItem FileQuit = "Quit"
MenuItem EditMenu = "&Edit"
MenuItem EditUndo = "&Undo"
MenuItem UntitledMenu0 = "-"
MenuItem EditCut = "Cu&t"
MenuItem EditCopy = "&Copy"
MenuItem EditPaste = "&Paste"
MenuItem EditClear = "Clear"
End MenuBar
Class App Inherits Application
EventHandler Sub Open() const length = 10000000 // Make a 10 MB big string with random data ZeroBuffer = RandomBytesStringMBS(length) System.DebugLog "Start..." Write 'Read System.DebugLog "Finished." quit End EventHandler
Sub Read() dim f as FolderItem dim z as UnZipMBS dim s as string dim info as UnZipFileInfoMBS f=SpecialFolder.Desktop.Child("test.zip") z=new UnZipMBS(f) if z.Handle = 0 then MsgBox "Failed to open zip file." Return end if z.GoToFirstFile if z.Lasterror <> 0 then MsgBox "GoToFirstFile: "+str(z.Lasterror) Return end if do info=z.FileInfo System.DebugLog "Reading file: "+z.FileName // filename like test1.txt" dim size as integer = val(mid(z.FileName,5,1)) z.OpenCurrentFile if z.Lasterror <> 0 then MsgBox "GoToFirstFile: "+str(z.Lasterror) Return end if for g as integer = 1 to size for n as integer = 1 to 100 s = z.ReadCurrentFile(lenb(ZeroBuffer)) if s<>ZeroBuffer then break MsgBox "Failed: Data not correct. Buffer read too small." Return end if next next System.DebugLog "Read "+Format(z.Position/1000/1000, "0")+" MB" z.CloseCurrentFile z.GoToNextFile loop until z.Lasterror<>0 MsgBox "Everything okay." End Sub
Sub Write() dim z as ZipMBS dim f as FolderItem dim d as new date dim info as ZipFileInfoMBS f=SpecialFolder.Desktop.Child("test.zip") z=new ZipMBS(f,0) info=new ZipFileInfoMBS info.SetDate d info.ExternalFileAttributes=0 info.InternalFileAttributes=0 info.DosDate=0 // auto dim size as integer = 3 // 3 GB System.DebugLog "Write test"+str(size)+".txt with "+str(size)+" GB." z.CreateFile("test"+str(size)+".txt", info, "", "", "", z.MethodDeflated, z.CompressionBestCompression, true) // for each GB for j as integer = 1 to size // write a little bit more than 1 GB for k as integer = 1 to 100 z.Write ZeroBuffer next next z.CloseFile z.Close("global comment") z = nil End Sub
Property ZeroBuffer As string
End Class
FileTypes
Filetype text
End FileTypes
End Project

See also:

The items on this page are in the following plugins: MBS Compression Plugin.


💬 Ask a question or report a problem