当前位置: 首页>>代码示例>>C#>>正文


C# CsvParser.Read方法代码示例

本文整理汇总了C#中CsvParser.Read方法的典型用法代码示例。如果您正苦于以下问题:C# CsvParser.Read方法的具体用法?C# CsvParser.Read怎么用?C# CsvParser.Read使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CsvParser的用法示例。


在下文中一共展示了CsvParser.Read方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: MultipleCharDelimiter2Test

		public void MultipleCharDelimiter2Test()
		{
			using( var stream = new MemoryStream() )
			using( var reader = new StreamReader( stream ) )
			using( var writer = new StreamWriter( stream ) )
			using( var parser = new CsvParser( reader ) )
			{
				writer.WriteLine( "1``2``3" );
				writer.WriteLine( "4``5``6" );
				writer.Flush();
				stream.Position = 0;

				parser.Configuration.Delimiter = "``";
				parser.Configuration.HasHeaderRecord = false;

				var row = parser.Read();
				Assert.IsNotNull( row );
				Assert.AreEqual( 3, row.Length );
				Assert.AreEqual( "1", row[0] );
				Assert.AreEqual( "2", row[1] );
				Assert.AreEqual( "3", row[2] );

				row = parser.Read();
				Assert.IsNotNull( row );
				Assert.AreEqual( 3, row.Length );
				Assert.AreEqual( "4", row[0] );
				Assert.AreEqual( "5", row[1] );
				Assert.AreEqual( "6", row[2] );

				row = parser.Read();
				Assert.IsNull( row );
			}
		}
开发者ID:cihanozhan,项目名称:CsvHelper,代码行数:33,代码来源:CsvParserDelimiterTests.cs

示例2: ByteCountTestWithQuotedFieldsClosingQuoteAtStartOfBuffer

        public void ByteCountTestWithQuotedFieldsClosingQuoteAtStartOfBuffer()
        {
            var config = new Configuration.CsvConfiguration()
            {
                CountBytes = true,
                BufferSize = 4
            };

            using( var stream = new MemoryStream() )
            using( var writer = new StreamWriter( stream ) )
            using( var reader = new StreamReader( stream ) )
            using( var parser = new CsvParser( reader, config ) )
            {
                writer.Write( "1,\"2\",3\r\n" );
                writer.Write( "\"4\",5,\"6\"\r\n" );
                writer.Flush();
                stream.Position = 0;

                parser.Read();
                Assert.AreEqual( 9, parser.BytePosition );

                parser.Read();
                Assert.AreEqual( 20, parser.BytePosition );

                Assert.IsNull( parser.Read() );
            }
        }
开发者ID:KPK-Teamwork-Team-Bajic,项目名称:KPK-Teamwork,代码行数:27,代码来源:CsvParserTests.cs

示例3: CallbackTest

		public void CallbackTest()
		{
			using( var stream = new MemoryStream() )
			using( var reader = new StreamReader( stream ) )
			using( var writer = new StreamWriter( stream ) )
			using( var parser = new CsvParser( reader ) )
			{
				writer.WriteLine( " a\"bc\",d" );
				writer.WriteLine( "\"a\"\"b\"c \" ,d" );
				writer.WriteLine( "\"a\"\"b\",c" );
				writer.Flush();
				stream.Position = 0;

				string field = null;
				parser.Configuration.BadDataCallback = f => field = f;
				parser.Read();

				Assert.IsNotNull( field );
				Assert.AreEqual( " a\"bc\"", field );

				field = null;
				parser.Read();
				Assert.IsNotNull( field );
				Assert.AreEqual( "a\"bc \" ", field );

				field = null;
				parser.Read();
				Assert.IsNull( field );
			}
		}
开发者ID:cihanozhan,项目名称:CsvHelper,代码行数:30,代码来源:ParserBadDataTests.cs

示例4: DifferentDelimiterTest

		public void DifferentDelimiterTest()
		{
			using( var stream = new MemoryStream() )
			using( var reader = new StreamReader( stream ) )
			using( var writer = new StreamWriter( stream ) )
			using( var parser = new CsvParser( reader ) )
			{
				writer.WriteLine( "1\t2\t3" );
				writer.WriteLine( "4\t5\t6" );
				writer.Flush();
				stream.Position = 0;

				parser.Configuration.Delimiter = "\t";
				parser.Configuration.HasHeaderRecord = false;

				var row = parser.Read();
				Assert.IsNotNull( row );
				Assert.AreEqual( 3, row.Length );
				Assert.AreEqual( "1", row[0] );
				Assert.AreEqual( "2", row[1] );
				Assert.AreEqual( "3", row[2] );

				row = parser.Read();
				Assert.IsNotNull( row );
				Assert.AreEqual( 3, row.Length );
				Assert.AreEqual( "4", row[0] );
				Assert.AreEqual( "5", row[1] );
				Assert.AreEqual( "6", row[2] );

				row = parser.Read();
				Assert.IsNull( row );
			}
		}
开发者ID:cihanozhan,项目名称:CsvHelper,代码行数:33,代码来源:CsvParserDelimiterTests.cs

示例5: ByteCountUsingCharWithMoreThanSingleByteTest

        public void ByteCountUsingCharWithMoreThanSingleByteTest()
        {
            var encoding = Encoding.Unicode;
            using( var stream = new MemoryStream() )
            using( var writer = new StreamWriter( stream, encoding ) )
            using( var reader = new StreamReader( stream, encoding ) )
            using( var parser = new CsvParser( reader ) )
            {
                //崔钟铉
                parser.Configuration.CountBytes = true;
                parser.Configuration.Encoding = encoding;
                writer.Write( "1,崔\r\n" );
                writer.Write( "3,钟\r\n" );
                writer.Write( "5,铉\r\n" );
                writer.Flush();
                stream.Position = 0;

                parser.Read();
                Assert.Equal( 8, parser.BytePosition );

                parser.Read();
                Assert.Equal( 18, parser.BytePosition );

                parser.Read();
                Assert.Equal( 28, parser.BytePosition );

                parser.Read();
                Assert.Equal( 30, parser.BytePosition );
            }
        }
开发者ID:paulduran,项目名称:CsvHelper,代码行数:30,代码来源:CsvParserTests.cs

示例6: AllFieldsEmptyNoEolOnLastLineTest

        public void AllFieldsEmptyNoEolOnLastLineTest()
        {
            using( var stream = new MemoryStream() )
            using( var reader = new StreamReader( stream ) )
            using( var writer = new StreamWriter( stream ) )
            using( var parser = new CsvParser( reader ) )
            {
                writer.WriteLine( ";;;;" );
                writer.Write( ";;;;" );
                writer.Flush();
                stream.Position = 0;

                parser.Configuration.Delimiter = ";;";
                parser.Configuration.HasHeaderRecord = false;

                var row = parser.Read();
                Assert.IsNotNull( row );
                Assert.AreEqual( 3, row.Length );
                Assert.AreEqual( "", row[0] );
                Assert.AreEqual( "", row[1] );
                Assert.AreEqual( "", row[2] );

                row = parser.Read();
                Assert.IsNotNull( row );
                Assert.AreEqual( 3, row.Length );
                Assert.AreEqual( "", row[0] );
                Assert.AreEqual( "", row[1] );
                Assert.AreEqual( "", row[2] );

                row = parser.Read();
                Assert.IsNull( row );
            }
        }
开发者ID:KPK-Teamwork-Team-Bajic,项目名称:KPK-Teamwork,代码行数:33,代码来源:CsvParserDelimiterTests.cs

示例7: CharReadTotalTest

        public void CharReadTotalTest()
        {
            using( var stream = new MemoryStream() )
            using( var writer = new StreamWriter( stream ) )
            using( var reader = new StreamReader( stream ) )
            using( var parser = new CsvParser( reader ) )
            {
                parser.Configuration.AllowComments = true;

                // This is a breakdown of the char counts.
                // Read() will read up to the first line end char
                // and any more on the line will get read with the next read.

                // [I][d][,][N][a][m][e][\r][\n]
                //  1  2  3  4  5  6  7   8   9
                // [1][,][o][n][e][\r][\n]
                // 10 11 12 13 14  15  16
                // [,][\r][\n]
                // 17  18  19
                // [\r][\n]
                //  20  21
                // [#][ ][c][o][m][m][e][n][t][s][\r][\n]
                // 22 23 24 25 26 27 28 29 30 31  32  33
                // [2][,][t][w][o][\r][\n]
                // 34 35 36 37 38  39  40
                // [3][,]["][t][h][r][e][e][,][ ][f][o][u][r]["][\r][\n]
                // 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55  56  57

                writer.WriteLine( "Id,Name" );
                writer.WriteLine( "1,one" );
                writer.WriteLine( "," );
                writer.WriteLine( "" );
                writer.WriteLine( "# comments" );
                writer.WriteLine( "2,two" );
                writer.WriteLine( "3,\"three, four\"" );
                writer.Flush();
                stream.Position = 0;

                parser.Read();
                Assert.Equal( 8, parser.Position );

                parser.Read();
                Assert.Equal( 15, parser.Position );

                parser.Read();
                Assert.Equal( 18, parser.Position );

                parser.Read();
                Assert.Equal( 39, parser.Position );

                parser.Read();
                Assert.Equal( 56, parser.Position );

                parser.Read();
                Assert.Equal( 57, parser.Position );
            }
        }
开发者ID:anuragc64,项目名称:CsvHelper,代码行数:57,代码来源:CsvParserTests.cs

示例8: CallingReadMultipleTimesAfterDoneReadingTest

        public void CallingReadMultipleTimesAfterDoneReadingTest()
        {
            var stream = new MemoryStream();
            var writer = new StreamWriter( stream );
            writer.WriteLine( "one,two,three" );
            writer.WriteLine( "four,five,six" );
            writer.Flush();
            stream.Position = 0;
            var reader = new StreamReader( stream );

            var parser = new CsvParser( reader );

            parser.Read();
            parser.Read();
            parser.Read();
            parser.Read();
        }
开发者ID:heinrichbreedt,项目名称:CsvHelper,代码行数:17,代码来源:CsvParserTests.cs

示例9: SimpleParseTest

		public void SimpleParseTest()
		{
			using( var stream = new MemoryStream() )
			using( var writer = new StreamWriter( stream ) )
			using( var reader = new StreamReader( stream ) )
			using( var parser = new CsvParser( reader ) )
			{
				writer.Write( "1,2\r\n" );
				writer.Write( "3,4\r\n" );
				writer.Flush();
				stream.Position = 0;

				var row = parser.Read();
				Assert.IsNotNull( row );

				row = parser.Read();
				Assert.IsNotNull( row );

				Assert.IsNull( parser.Read() );
			}
		}
开发者ID:Core2D,项目名称:CsvHelper,代码行数:21,代码来源:CsvParserTests.cs

示例10: Parse2RecordsLastWithNoCrlfTest

        public void Parse2RecordsLastWithNoCrlfTest()
        {
            using( var memoryStream = new MemoryStream() )
            using( var streamReader = new StreamReader( memoryStream ) )
            using( var streamWriter = new StreamWriter( memoryStream ) )
            using( var parser = new CsvParser( streamReader ) )
            {
                streamWriter.WriteLine( "one,two,three" );
                streamWriter.Write( "four,five,six" );
                streamWriter.Flush();
                memoryStream.Position = 0;

                parser.Read();
                var record = parser.Read();
                Assert.IsNotNull( record );
                Assert.AreEqual( 3, record.Length );
                Assert.AreEqual( "four", record[0] );
                Assert.AreEqual( "five", record[1] );
                Assert.AreEqual( "six", record[2] );
            }
        }
开发者ID:heinrichbreedt,项目名称:CsvHelper,代码行数:21,代码来源:CsvParserTests.cs

示例11: ByteCountTest

        public void ByteCountTest()
        {
            using( var stream = new MemoryStream() )
            using( var writer = new StreamWriter( stream ) )
            using( var reader = new StreamReader( stream ) )
            using( var parser = new CsvParser( reader ) )
            {
                parser.Configuration.CountBytes = true;
                writer.Write( "1,2\r\n" );
                writer.Write( "3,4\r\n" );
                writer.Flush();
                stream.Position = 0;

                parser.Read();
                Assert.AreEqual( 5, parser.BytePosition );

                parser.Read();
                Assert.AreEqual( 10, parser.BytePosition );

                Assert.IsNull( parser.Read() );
            }
        }
开发者ID:Orcomp,项目名称:CsvHelper,代码行数:22,代码来源:CsvParserTests.cs

示例12: ByteCountTestWithQuotedFields

        public void ByteCountTestWithQuotedFields()
        {
            using( var stream = new MemoryStream() )
            using( var writer = new StreamWriter( stream ) )
            using( var reader = new StreamReader( stream ) )
            using( var parser = new CsvParser( reader ) )
            {
                parser.Configuration.CountBytes = true;
                writer.Write( "1,\"2\"\r\n" );
                writer.Write( "\"3\",4\r\n" );
                writer.Flush();
                stream.Position = 0;

                parser.Read();
                Assert.AreEqual( 7, parser.BytePosition );

                parser.Read();
                Assert.AreEqual( 14, parser.BytePosition );

                Assert.IsNull( parser.Read() );
            }
        }
开发者ID:Orcomp,项目名称:CsvHelper,代码行数:22,代码来源:CsvParserTests.cs

示例13: ThrowExceptionTest

		public void ThrowExceptionTest()
		{
			using( var stream = new MemoryStream() )
			using( var reader = new StreamReader( stream ) )
			using( var writer = new StreamWriter( stream ) )
			using( var parser = new CsvParser( reader ) )
			{
				writer.WriteLine( "1,2" );
				writer.WriteLine( " a\"bc\",d" );
				writer.Flush();
				stream.Position = 0;

				parser.Configuration.ThrowOnBadData = true;
				parser.Read();
				try
				{
					parser.Read();
					Assert.Fail( "Failed to throw exception on bad data." );
				}
				catch( CsvBadDataException ) { }
			}
		}
开发者ID:cihanozhan,项目名称:CsvHelper,代码行数:22,代码来源:ParserBadDataTests.cs

示例14: RawRecordLfTest

        public void RawRecordLfTest()
        {
            using( var stream = new MemoryStream() )
            using( var writer = new StreamWriter( stream ) )
            using( var reader = new StreamReader( stream ) )
            using( var parser = new CsvParser( reader ) )
            {
                writer.Write( "1,2\n" );
                writer.Write( "3,4\n" );
                writer.Flush();
                stream.Position = 0;

                parser.Read();
                Assert.AreEqual( "1,2\n", parser.RawRecord );

                parser.Read();
                Assert.AreEqual( "3,4\n", parser.RawRecord );

                parser.Read();
                Assert.AreEqual( null, parser.RawRecord );
            }
        }
开发者ID:Orcomp,项目名称:CsvHelper,代码行数:22,代码来源:CsvParserRawRecordTests.cs

示例15: RawRecordCr2DelimiterTest

        public void RawRecordCr2DelimiterTest()
        {
            using( var stream = new MemoryStream() )
            using( var writer = new StreamWriter( stream ) )
            using( var reader = new StreamReader( stream ) )
            using( var parser = new CsvParser( reader ) )
            {
                writer.Write( "1;;2\r" );
                writer.Write( "3;;4\r" );
                writer.Flush();
                stream.Position = 0;

                parser.Configuration.Delimiter = ";;";

                parser.Read();
                Assert.AreEqual( "1;;2\r", parser.RawRecord );

                parser.Read();
                Assert.AreEqual( "3;;4\r", parser.RawRecord );

                parser.Read();
                Assert.AreEqual( string.Empty, parser.RawRecord );
            }
        }
开发者ID:ravensorb,项目名称:CsvHelper,代码行数:24,代码来源:CsvParserRawRecordTests.cs


注:本文中的CsvParser.Read方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。