Пример #1
0
        /// <summary>
        /// Initializes a reader for a given stream and using the specified settings
        /// </summary>
        /// <param name="stream"></param>
        /// <param name="settings"></param>
        /// <param name="leaveOpen"></param>
        public CsvReader(Stream stream, CsvReaderSettings settings, bool leaveOpen)
        {
            this.Settings   = settings == null ? new CsvReaderSettings() : settings.Clone();
            this._leaveOpen = leaveOpen;

            Configure();

            if (this.Settings.Encoding == null)
            {
                _reader = new StreamReader(stream, Encoding.UTF8, settings.DetectEncodingFromByteOrderMarks, Settings.ReaderBufferSize);
            }
            else
            {
                _reader = new StreamReader(stream, settings.Encoding, settings.DetectEncodingFromByteOrderMarks, Settings.ReaderBufferSize);
            }
            Settings.Readonly = true;
        }
Пример #2
0
        public CsvReader(Stream stream, CsvReaderSettings settings)
        {
            this.Settings = settings == null ? new CsvReaderSettings() : settings.Clone();

            if (this.Settings.Encoding == null)
            {
                Reader = new StreamReader(stream, settings.DetectEncodingFromByteOrderMarks);
            }
            else
            {
                Reader = new StreamReader(stream, settings.Encoding, settings.DetectEncodingFromByteOrderMarks);
            }
            Settings.Encoding = Reader.CurrentEncoding;
            Settings.Readonly = true;

            _enableQualification = Settings.TextQualification != CsvTextQualification.None;
            _escapedQualifier    = new string(Settings.TextQualifier, 2);
            _qualiferString      = new string(Settings.TextQualifier, 1);
        }
Пример #3
0
 /// <summary>
 /// Initializes a reader for a given stream and using the specified settings
 /// </summary>
 /// <param name="stream"></param>
 /// <param name="settings"></param>
 public CsvReader(Stream stream, CsvReaderSettings settings)
     : this(stream, settings, false)
 {
 }