Gendarme.Framework.Helpers.StreamLineReader.ReadLine C# (CSharp) Method

ReadLine() public method

public ReadLine ( char buffer, int index, int count ) : int
buffer char
index int
count int
return int
		public int ReadLine (char [] buffer, int index, int count)
		{
			if (Disposed)
				throw new ObjectDisposedException ("StreamLineReader");
			if (buffer == null)
				throw new ArgumentNullException ("buffer");
			if (index < 0)
				throw new ArgumentOutOfRangeException ("index", "< 0");
			if (count < 0)
				throw new ArgumentOutOfRangeException ("count", "< 0");
			// ordered to avoid possible integer overflow
			if (index > buffer.Length - count)
				throw new ArgumentException ("index + count > buffer.Length");

			int len = 0;
			while (len < count) {
				if (n == max) {
					max = sr.ReadBlock (buff, 0, buff.Length);
					n = 0;
                    if (max == 0)
                        return len;
				}
				char c = buff [n++];
				switch (c) {
				case '\r':
					continue;
				case '\n':
					Array.Clear (buffer, len, buffer.Length - len);
					return len;
				default:
					buffer [index++] = c;
					len++;
					break;
				}
			}
			return len;
		}

Usage Example

Example #1
0
		private void Parse (IRunner runner)
		{
			char [] buffer = new char [4096];
			while (files.Count > 0) {
				string fileName = files.Pop ();
				using (StreamLineReader sr = new StreamLineReader (fileName)) {
					while (!sr.EndOfStream) {
						int length = sr.ReadLine (buffer, 0, buffer.Length);
                        ProcessLine(runner, buffer, length);
					}
				}
			}
			Resolve ();
			TearDown ();
		}
All Usage Examples Of Gendarme.Framework.Helpers.StreamLineReader::ReadLine