/// <summary> /// запись /// </summary> /// <param name="position"></param> /// <param name="ob"></param> /// <returns></returns> public long Write(long position, object ob) { if (!isOpen) { return(0); } byte[] buffer = DataCoversion.ObjectToByte(ob); long lg = buffer.Length; //long Filesize = m_streamFile.Length; m_streamFile.Seek(position, SeekOrigin.Begin); m_streamFile.Write(buffer, 0, buffer.Length); //MemoryMappedViewAccessor acessor = m_memoryMappedFile.CreateViewAccessor(position, position + lg); //acessor.Write(position, ref buffer); //m_memoryMappedViewStream.Seek(position, SeekOrigin.Begin); //m_memoryMappedViewStream.Write(buffer, 0, buffer.Length); //BinaryWriter streamWriter = new BinaryWriter(m_memoryMappedViewStream); //streamWriter.Write(buffer); //streamWriter.Close(); //m_memoryMappedViewStream.Flush(); //m_memoryMappedViewStream.Close(); //m_memoryMappedViewStream = null; return(lg); }
/// <summary> /// чтение /// </summary> /// <param name="position"></param> /// <param name="readBytes"></param> /// <returns></returns> public object Read(long position, long readBytes) { //m_memoryMappedViewStream = m_memoryMappedFile.CreateViewStream(); //m_memoryMappedViewStream.Seek(position, SeekOrigin.Begin); byte [] buffer = new byte[readBytes]; long lg = buffer.LongLength; m_streamFile.Seek(position, SeekOrigin.Begin); m_streamFile.Read(buffer, 0, (int)lg); //BinaryReader streamWriter = new BinaryReader(m_memoryMappedViewStream); //streamWriter.Read(buffer, 0, (int)readBytes); //streamWriter.Close(); //m_memoryMappedViewStream.Read(buffer, 0, (int)readBytes); //m_memoryMappedViewStream.Close(); //m_memoryMappedViewStream = null; return(DataCoversion.ByteToObject(buffer)); }