public BigArchive(string filePath, BigArchiveMode mode = BigArchiveMode.Read) { FilePath = filePath; Mode = mode; _entries = new List <BigArchiveEntry>(); _entriesDictionary = new Dictionary <string, BigArchiveEntry>(); FileMode fileMode = mode == BigArchiveMode.Create ? FileMode.Create : FileMode.Open; FileAccess fileAccess = mode == BigArchiveMode.Read ? FileAccess.Read : FileAccess.ReadWrite; FileShare fileShare = mode == BigArchiveMode.Read ? FileShare.Read : FileShare.ReadWrite; _stream = AddDisposable(new FileStream( filePath, fileMode, fileAccess, fileShare)); Read(); }
public BigArchive(string filePath, BigArchiveMode mode = BigArchiveMode.Read) { FilePath = filePath; Mode = mode; _entries = new List <BigArchiveEntry>(); _entriesDictionary = new Dictionary <string, BigArchiveEntry>(); var fileMode = mode == BigArchiveMode.Create ? FileMode.Create : FileMode.Open; var fileAccess = mode == BigArchiveMode.Read ? FileAccess.Read : FileAccess.ReadWrite; var fileShare = mode == BigArchiveMode.Read ? FileShare.Read : FileShare.ReadWrite; _stream = AddDisposable(new FileStream( filePath, fileMode, fileAccess, fileShare)); // Read if the archive already exists if (mode != BigArchiveMode.Create) { Read(); } }