Пример #1
0
        /// <summary>
        /// 打开字节流
        /// </summary>
        /// <param name="buf"></param>
        /// <param name="mode"></param>
        /// <returns></returns>
        public bool OpenMem(byte[] buf, OPEN_MODE mode)
        {
            if (m_Opened)
            {
                Close();
            }

            if (null == buf)
            {
                return(false);
            }

            m_Stream = new MemoryStream(buf, mode == OPEN_MODE.OPEN_READ ? false : true);
            if (m_Stream == null)
            {
                return(false);
            }

            m_Opened = true;

            if (mode == OPEN_MODE.OPEN_READ)
            {
                m_Reader = new BinaryReader(m_Stream, m_CurEncoding);
            }
            else
            {
                m_Writer = new BinaryWriter(m_Stream, m_CurEncoding);
            }

            return(true);
        }
Пример #2
0
    public override bool Open(string path, OPEN_MODE mode)
    {
        if (!base.Open(path, mode))
        {
            return(false);
        }

        return(true);
    }
Пример #3
0
    public override bool OpenMem(byte[] buf, OPEN_MODE mode)
    {
        if (!base.OpenMem(buf, mode))
        {
            return(false);
        }

        if (mode == OPEN_MODE.OPEN_READ)
        {
            Reader = new StreamReader(mStream, CurEncoding);
        }
        else
        {
            Writer = new StreamWriter(mStream, CurEncoding);
        }

        return(true);
    }
Пример #4
0
    public override bool Open(string path, OPEN_MODE mode)
    {
        if (!base.Open(path, mode))
        {
            return(false);
        }

        if (mode == OPEN_MODE.OPEN_READ)
        {
            Reader = new BinaryReader(mStream, CurEncoding);
        }
        else
        {
            Writer = new BinaryWriter(mStream, CurEncoding);
        }

        return(true);
    }
Пример #5
0
    public virtual bool OpenMem(byte[] buf, OPEN_MODE mode)
    {
        if (mOpened)
        {
            Close();
        }

        if (null == buf)
        {
            return(false);
        }

        mStream = new MemoryStream(buf, mode == OPEN_MODE.OPEN_READ ? false : true);
        if (mStream == null)
        {
            return(false);
        }

        mOpened = true;

        return(true);
    }
Пример #6
0
        /// <summary>
        /// 打开
        /// </summary>
        /// <param name="path"></param>
        /// <param name="mode"></param>
        /// <returns></returns>
        public bool Open(string path, OPEN_MODE mode)
        {
            if (m_Opened)
            {
                Close();
            }

            FileMode filemode = FileMode.Open;

            if (mode == OPEN_MODE.OPEN_WRITE)
            {
                filemode = FileMode.OpenOrCreate;
            }
            else if (mode == OPEN_MODE.OPEN_WRITE_CREATE)
            {
                filemode = FileMode.Create;
            }

            FileAccess access = (mode == OPEN_MODE.OPEN_READ) ? FileAccess.Read : FileAccess.ReadWrite;

            if (access == FileAccess.Read)
            {
                if (!File.Exists(path))
                {
                    return(false);
                }
            }
            else
            {
                if (File.Exists(path))
                {
                    File.SetAttributes(path, FileAttributes.Normal);
                }
            }

            try
            {
                m_Stream = new FileStream(path, filemode, access, FileShare.ReadWrite);
                if (m_Stream == null)
                {
                    return(false);
                }

                m_Opened = true;
            }
            catch (Exception ex)
            {
                Debug.LogError("异常:" + ex.ToString());
            }

            if (mode == OPEN_MODE.OPEN_READ)
            {
                m_Reader = new BinaryReader(m_Stream, m_CurEncoding);
            }
            else
            {
                m_Writer = new BinaryWriter(m_Stream, m_CurEncoding);
            }

            return(true);
        }
Пример #7
0
 /// <summary>
 /// 写入文件
 /// </summary>
 /// <param name="path"></param>
 /// <param name="mode"></param>
 /// <returns></returns>
 public bool OpenWrite(string path, OPEN_MODE mode = OPEN_MODE.OPEN_WRITE)
 {
     return(Open(path, mode));
 }
Пример #8
0
    public virtual bool Open(string path, OPEN_MODE mode)
    {
        if (mOpened)
        {
            Close();
        }

        FileMode filemode = FileMode.Open;

        if (mode == OPEN_MODE.OPEN_WRITE)
        {
            filemode = FileMode.OpenOrCreate;
        }
        else if (mode == OPEN_MODE.OPEN_WRITE_CREATE)
        {
            filemode = FileMode.Create;
        }
        else if (mode == OPEN_MODE.OPEN_APPEND)
        {
            filemode = FileMode.Append;
        }

        FileAccess access = (mode == OPEN_MODE.OPEN_READ) ? FileAccess.Read : FileAccess.ReadWrite;

        if (filemode == FileMode.Append)
        {
            access = FileAccess.Write;
        }

        if (access == FileAccess.Read)
        {
            // read, check exist
            if (!File.Exists(path))
            {
                return(false);
            }
        }
        else
        {
            // write or create
            if (File.Exists(path))
            {
                File.SetAttributes(path, FileAttributes.Normal);
            }
        }

        try
        {
            mStream = new FileStream(path, filemode, access, FileShare.ReadWrite);
            if (mStream == null)
            {
                return(false);
            }

            FilePath = path;
            mOpened  = true;
        }
        catch (Exception ex)
        {
        }

        return(true);
    }