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; } } }
public static ObjTextWriter CreateWriter(string textfile, ObjTextReaderWriterEncodeType encodetype = ObjTextReaderWriterEncodeType.json) { return(new ObjTextWriter(textfile, encodetype)); }