Ejemplo n.º 1
0
        private ObjTextWriter(string textfile, ObjTextReaderWriterEncodeType encodetype)
        {
            this.readwritePath = textfile;
            var fs = File.Open(textfile, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.Read);

            _sw = new StreamWriter(fs, Encoding.UTF8);
            int firstchar = fs.ReadByte();

            if (firstchar == -1)
            {
                this._encodeType = encodetype;
                fs.WriteByte((byte)encodetype);
            }
            else
            {
                this._encodeType        = (ObjTextReaderWriterEncodeType)firstchar;
                _sw.BaseStream.Position = _sw.BaseStream.Length;

                while (true)
                {
                    if (CheckHasEndSpan(_sw.BaseStream))
                    {
                        _sw.BaseStream.Position -= 3;
                    }
                    else
                    {
                        break;
                    }
                }
            }
            //Flush();
            _canReadFromBack = CanReadFormBack;
            if (_canReadFromBack)
            {
                if (PostionLast(_sw.BaseStream))
                {
                    _sw.BaseStream.Position += 6;
                }
                else
                {
                    _sw.BaseStream.Position = 1;
                }
            }
        }
Ejemplo n.º 2
0
 public static ObjTextWriter CreateWriter(string textfile, ObjTextReaderWriterEncodeType encodetype = ObjTextReaderWriterEncodeType.json)
 {
     return(new ObjTextWriter(textfile, encodetype));
 }