public static Archive Load(string file, ArchiveSaveMode saveMode = ArchiveSaveMode.Explicit) { var archive = new Archive(file, new FileStream(file, FileMode.Open), saveMode); archive.Reload(); return(archive); }
public Archive(string name, Stream stream, ArchiveSaveMode saveMode = ArchiveSaveMode.Explicit) { Name = name; Stream = stream; SaveMode = saveMode; if (saveMode == ArchiveSaveMode.Immediate) { lock (_syncRoot) ArchiveHelpers.WriteHeader(Header, new BinaryWriter(stream)); } }
public static ArchiveFileSystem FromArchive(string path, ArchiveSaveMode saveMode = ArchiveSaveMode.Explicit) { return(new ArchiveFileSystem(Archive.Load(path, saveMode))); }
public static ArchiveFileSystem NewArchive(string path, ArchiveSaveMode saveMode = ArchiveSaveMode.Immediate) { return(new ArchiveFileSystem(Archive.Create(path, saveMode))); }
public static Archive Create(string file, ArchiveSaveMode saveMode = ArchiveSaveMode.Immediate) { return(new Archive(file, new FileStream(file, FileMode.Create), saveMode)); }