コード例 #1
0
        public int WritePageData(FileStreamWrapper stream, int pageIdx)
        {
            if (null == stream)
            {
                throw new ArgumentNullException();
            }

            // get the page data
            byte[] dataBuffer = new byte[PageSize];
            this.WritePageData(dataBuffer);

            // write to the file stream
            if (0 > pageIdx ||
                stream.Length < pageIdx * PageSize)
            {
                pageIdx = (int)(stream.Length / PageSize);
            }

            stream.Seek(pageIdx * PageSize, SeekOrigin.Begin);
            stream.Write(dataBuffer, 0, dataBuffer.Length);

            return(pageIdx);
        }
コード例 #2
0
ファイル: StoragePage.cs プロジェクト: vlung/Citicenter
        public int WritePageData(FileStreamWrapper stream, int pageIdx)
        {
            if (null == stream)
            {
                throw new ArgumentNullException();
            }

            // get the page data
            byte[] dataBuffer = new byte[PageSize];
            this.WritePageData(dataBuffer);

            // write to the file stream
            if (0 > pageIdx
                || stream.Length < pageIdx * PageSize)
            {
                pageIdx = (int)(stream.Length / PageSize);
            }

            stream.Seek(pageIdx * PageSize, SeekOrigin.Begin);
            stream.Write(dataBuffer, 0, dataBuffer.Length);

            return pageIdx;
        }