コード例 #1
0
ファイル: BigArchive.cs プロジェクト: Skleni/OpenSAGE
        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();
        }
コード例 #2
0
        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();
            }
        }