Пример #1
0
        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);
        }
Пример #2
0
        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));
            }
        }
Пример #3
0
 public static ArchiveFileSystem FromArchive(string path, ArchiveSaveMode saveMode = ArchiveSaveMode.Explicit)
 {
     return(new ArchiveFileSystem(Archive.Load(path, saveMode)));
 }
Пример #4
0
 public static ArchiveFileSystem NewArchive(string path, ArchiveSaveMode saveMode = ArchiveSaveMode.Immediate)
 {
     return(new ArchiveFileSystem(Archive.Create(path, saveMode)));
 }
Пример #5
0
 public static Archive Create(string file, ArchiveSaveMode saveMode = ArchiveSaveMode.Immediate)
 {
     return(new Archive(file, new FileStream(file, FileMode.Create), saveMode));
 }