public UniqueStringQueuedFile(string fileName, bool caseSensitive) { CaseSensitive = caseSensitive; FileName = fileName; dataFile = new StreamRW(fileName); SyObject = new object(); if (dataFile.Length == 0) { dataFile.WriteFileHeader(0, 0, 0); count = current = 0; dataFile.Seek(0, SeekOrigin.End); realCursor = cursor = (int)dataFile.Position; AllItems = new Queue <string>(); } else { var tmp = dataFile.ReadFileHeader(); count = tmp.Count; realCurrent = current = tmp.Current; realCursor = cursor = tmp.Position; AllItems = dataFile.ReadAllStringInQueue(); dataFile.Seek(cursor, SeekOrigin.Begin); } }
/*////////////////////////////////////////////////////////////////////////////////////////*/ #region Ctor public StringQueuedFile(string fileName) { FileName = fileName; dataFile = new StreamRW(fileName); SyObject = new object(); if (dataFile.Length == 0) { dataFile.WriteFileHeader(0, 0, 0); count = current = 0; dataFile.Seek(0, SeekOrigin.End); realCursor = cursor = (int)dataFile.Position; } else { var tmp = dataFile.ReadFileHeader(); count = tmp.Count; realCurrent = current = tmp.Current; realCursor = cursor = tmp.Position; dataFile.Seek(cursor, SeekOrigin.Begin); } }