示例#1
0
        private string ReadNextLine(ref int Cursor, ChangeBufferFunction ChangeBuffer)
        {
            if ((Cursor == this.m_CharsRead) && (ChangeBuffer() == 0))
            {
                return(null);
            }
            StringBuilder builder = null;

            do
            {
                int num3 = this.m_CharsRead - 1;
                for (int i = Cursor; i <= num3; i++)
                {
                    char ch = this.m_Buffer[i];
                    if ((Conversions.ToString(ch) == "\r") | (Conversions.ToString(ch) == "\n"))
                    {
                        if (builder != null)
                        {
                            builder.Append(this.m_Buffer, Cursor, (i - Cursor) + 1);
                        }
                        else
                        {
                            builder = new StringBuilder(i + 1);
                            builder.Append(this.m_Buffer, Cursor, (i - Cursor) + 1);
                        }
                        Cursor = i + 1;
                        if (Conversions.ToString(ch) == "\r")
                        {
                            if (Cursor < this.m_CharsRead)
                            {
                                if (Conversions.ToString(this.m_Buffer[Cursor]) == "\n")
                                {
                                    Cursor++;
                                    builder.Append("\n");
                                }
                            }
                            else if ((ChangeBuffer() > 0) && (Conversions.ToString(this.m_Buffer[Cursor]) == "\n"))
                            {
                                Cursor++;
                                builder.Append("\n");
                            }
                        }
                        return(builder.ToString());
                    }
                }
                int charCount = this.m_CharsRead - Cursor;
                if (builder == null)
                {
                    builder = new StringBuilder(charCount + 10);
                }
                builder.Append(this.m_Buffer, Cursor, charCount);
            }while (ChangeBuffer() > 0);
            return(builder.ToString());
        }
示例#2
0
        private string PeekNextDataLine()
        {
            string str;
            ChangeBufferFunction changeBuffer = new ChangeBufferFunction(this.IncreaseBufferSize);

            this.SlideCursorToStartOfBuffer();
            this.m_PeekPosition = 0;
            do
            {
                str = this.ReadNextLine(ref this.m_PeekPosition, changeBuffer);
            }while (this.IgnoreLine(str));
            return(str);
        }
示例#3
0
        private string ReadNextDataLine()
        {
            string str;
            ChangeBufferFunction changeBuffer = new ChangeBufferFunction(this.ReadToBuffer);

            do
            {
                str = this.ReadNextLine(ref this.m_Position, changeBuffer);
                this.m_LineNumber += 1L;
            }while (this.IgnoreLine(str));
            if (str == null)
            {
                this.CloseReader();
            }
            return(str);
        }
示例#4
0
        public string ReadLine()
        {
            if ((this.m_Reader == null) | (this.m_Buffer == null))
            {
                return(null);
            }
            ChangeBufferFunction changeBuffer = new ChangeBufferFunction(this.ReadToBuffer);
            string str = this.ReadNextLine(ref this.m_Position, changeBuffer);

            if (str == null)
            {
                this.FinishReading();
                return(null);
            }
            this.m_LineNumber += 1L;
            return(str.TrimEnd(new char[] { '\r', '\n' }));
        }
 private string ReadNextLine(ref int Cursor, ChangeBufferFunction ChangeBuffer)
 {
     if ((Cursor == this.m_CharsRead) && (ChangeBuffer() == 0))
     {
         return null;
     }
     StringBuilder builder = null;
     do
     {
         int num3 = this.m_CharsRead - 1;
         for (int i = Cursor; i <= num3; i++)
         {
             char ch = this.m_Buffer[i];
             if ((Conversions.ToString(ch) == "\r") | (Conversions.ToString(ch) == "\n"))
             {
                 if (builder != null)
                 {
                     builder.Append(this.m_Buffer, Cursor, (i - Cursor) + 1);
                 }
                 else
                 {
                     builder = new StringBuilder(i + 1);
                     builder.Append(this.m_Buffer, Cursor, (i - Cursor) + 1);
                 }
                 Cursor = i + 1;
                 if (Conversions.ToString(ch) == "\r")
                 {
                     if (Cursor < this.m_CharsRead)
                     {
                         if (Conversions.ToString(this.m_Buffer[Cursor]) == "\n")
                         {
                             Cursor++;
                             builder.Append("\n");
                         }
                     }
                     else if ((ChangeBuffer() > 0) && (Conversions.ToString(this.m_Buffer[Cursor]) == "\n"))
                     {
                         Cursor++;
                         builder.Append("\n");
                     }
                 }
                 return builder.ToString();
             }
         }
         int charCount = this.m_CharsRead - Cursor;
         if (builder == null)
         {
             builder = new StringBuilder(charCount + 10);
         }
         builder.Append(this.m_Buffer, Cursor, charCount);
     }
     while (ChangeBuffer() > 0);
     return builder.ToString();
 }
 private string ReadNextDataLine()
 {
     string str;
     ChangeBufferFunction changeBuffer = new ChangeBufferFunction(this.ReadToBuffer);
     do
     {
         str = this.ReadNextLine(ref this.m_Position, changeBuffer);
         this.m_LineNumber += 1L;
     }
     while (this.IgnoreLine(str));
     if (str == null)
     {
         this.CloseReader();
     }
     return str;
 }
 public string ReadLine()
 {
     if ((this.m_Reader == null) | (this.m_Buffer == null))
     {
         return null;
     }
     ChangeBufferFunction changeBuffer = new ChangeBufferFunction(this.ReadToBuffer);
     string str = this.ReadNextLine(ref this.m_Position, changeBuffer);
     if (str == null)
     {
         this.FinishReading();
         return null;
     }
     this.m_LineNumber += 1L;
     return str.TrimEnd(new char[] { '\r', '\n' });
 }
 private string PeekNextDataLine()
 {
     string str;
     ChangeBufferFunction changeBuffer = new ChangeBufferFunction(this.IncreaseBufferSize);
     this.SlideCursorToStartOfBuffer();
     this.m_PeekPosition = 0;
     do
     {
         str = this.ReadNextLine(ref this.m_PeekPosition, changeBuffer);
     }
     while (this.IgnoreLine(str));
     return str;
 }