public static void ReadAll_DataStreams(FixedRecordReaderBenchmarkArguments args)
		{
			using (var reader = new FixedWidthReader(new StreamReader(args.Path, args.Encoding, true, args.BufferSize)))
			{
				reader.Settings.CaptureRawRecord = false;

				for (int i = 0; i < ColumnCount; i++)
					reader.Columns.Add(ColumnWidth);

				string s;

				if (args.FieldIndex < 0)
				{
					while (reader.ReadRecord())
					{
						for (int i = 0; i < reader.Columns.Count - 1; i++)
							s = reader[i];
					}
				}
				else
				{
					while (reader.ReadRecord())
					{
						for (int i = 0; i < args.FieldIndex + 1; i++)
							s = reader[i];
					}
				}
			}
		}
示例#2
0
        public static void ReadAll_DataStreams(FixedRecordReaderBenchmarkArguments args)
        {
            using (var reader = new FixedWidthReader(new StreamReader(args.Path, args.Encoding, true, args.BufferSize)))
            {
                reader.Settings.CaptureRawRecord = false;

                for (int i = 0; i < ColumnCount; i++)
                {
                    reader.Columns.Add(ColumnWidth);
                }

                string s;

                if (args.FieldIndex < 0)
                {
                    while (reader.ReadRecord())
                    {
                        for (int i = 0; i < reader.Columns.Count - 1; i++)
                        {
                            s = reader[i];
                        }
                    }
                }
                else
                {
                    while (reader.ReadRecord())
                    {
                        for (int i = 0; i < args.FieldIndex + 1; i++)
                        {
                            s = reader[i];
                        }
                    }
                }
            }
        }
示例#3
0
        public List <MaintenanceCommentRecord> ReadCommentRecordsFromMaintenanceFile(string fullPathFile)
        {
            var records  = new List <MaintenanceCommentRecord>();
            var allLines = File.ReadAllLines(fullPathFile);
            var reader   = new FixedWidthReader(typeof(MaintenanceCommentRecord));

            for (var i = 1; i <= allLines.Length - 1; i++)
            {
                var record = (MaintenanceCommentRecord)reader.ReadRecord(allLines[i]);
                records.Add(record);
            }

            return(records);
        }
        private void Form1_Load(object sender, System.EventArgs e)
        {
            using (StreamReader reader = new StreamReader("../../../../../sample data/products.txt", Encoding.Default))
            {
                textBox1.Text = reader.ReadToEnd();
            }

            using (FixedWidthReader reader = new FixedWidthReader("../../../../../sample data/products.txt"))
            {
                reader.Columns.Add(5, "ProductID");
                reader.Columns.Add(35, "ProductName");
                reader.Columns.Add(5, "SupplierID");
                reader.Columns.Add(5, "CategoryID");
                reader.Columns.Add(20, "QuantityPerUnit");
                reader.Columns.Add(10, "UnitPrice");
                reader.Columns.Add(5, "UnitsInStock");
                reader.Columns.Add(5, "UnitsOnOrder");
                reader.Columns.Add(5, "ReorderLevel");
                reader.Columns.Add(1, "Discontinued");

                reader.Columns["ProductID"].Alignment      = TextAlignment.Right;
                reader.Columns["ProductID"].PaddingChar    = '0';
                reader.Columns["SupplierID"].Alignment     = TextAlignment.Right;
                reader.Columns["SupplierID"].PaddingChar   = '0';
                reader.Columns["CategoryID"].Alignment     = TextAlignment.Right;
                reader.Columns["CategoryID"].PaddingChar   = '0';
                reader.Columns["UnitPrice"].Alignment      = TextAlignment.Right;
                reader.Columns["UnitPrice"].PaddingChar    = '0';
                reader.Columns["UnitPrice"].MinLength      = 1;
                reader.Columns["UnitsInStock"].Alignment   = TextAlignment.Right;
                reader.Columns["UnitsInStock"].PaddingChar = '0';
                reader.Columns["UnitsInStock"].MinLength   = 1;
                reader.Columns["UnitsOnOrder"].Alignment   = TextAlignment.Right;
                reader.Columns["UnitsOnOrder"].PaddingChar = '0';
                reader.Columns["UnitsOnOrder"].MinLength   = 1;
                reader.Columns["ReorderLevel"].Alignment   = TextAlignment.Right;
                reader.Columns["ReorderLevel"].PaddingChar = '0';
                reader.Columns["ReorderLevel"].MinLength   = 1;

                dataGrid1.DataSource = reader.ReadToEnd();
            }

            using (MemoryStream result = new MemoryStream())
            {
                using (FixedWidthReader reader = new FixedWidthReader("../../../../../sample data/products.txt"))
                {
                    reader.Columns.Add(5, "ProductID");
                    reader.Columns.Add(35, "ProductName");
                    reader.Columns.Add(5, "SupplierID");
                    reader.Columns.Add(5, "CategoryID");
                    reader.Columns.Add(20, "QuantityPerUnit");
                    reader.Columns.Add(10, "UnitPrice");
                    reader.Columns.Add(5, "UnitsInStock");
                    reader.Columns.Add(5, "UnitsOnOrder");
                    reader.Columns.Add(5, "ReorderLevel");
                    reader.Columns.Add(1, "Discontinued");

                    reader.Columns["ProductID"].Alignment      = TextAlignment.Right;
                    reader.Columns["ProductID"].PaddingChar    = '0';
                    reader.Columns["SupplierID"].Alignment     = TextAlignment.Right;
                    reader.Columns["SupplierID"].PaddingChar   = '0';
                    reader.Columns["CategoryID"].Alignment     = TextAlignment.Right;
                    reader.Columns["CategoryID"].PaddingChar   = '0';
                    reader.Columns["UnitPrice"].Alignment      = TextAlignment.Right;
                    reader.Columns["UnitPrice"].PaddingChar    = '0';
                    reader.Columns["UnitPrice"].MinLength      = 1;
                    reader.Columns["UnitsInStock"].Alignment   = TextAlignment.Right;
                    reader.Columns["UnitsInStock"].PaddingChar = '0';
                    reader.Columns["UnitsInStock"].MinLength   = 1;
                    reader.Columns["UnitsOnOrder"].Alignment   = TextAlignment.Right;
                    reader.Columns["UnitsOnOrder"].PaddingChar = '0';
                    reader.Columns["UnitsOnOrder"].MinLength   = 1;
                    reader.Columns["ReorderLevel"].Alignment   = TextAlignment.Right;
                    reader.Columns["ReorderLevel"].PaddingChar = '0';
                    reader.Columns["ReorderLevel"].MinLength   = 1;

                    DataTable data = reader.ReadToEnd();

                    XmlTextWriter writer = new XmlTextWriter(result, Encoding.UTF8);

                    writer.Formatting  = Formatting.Indented;
                    writer.IndentChar  = '\t';
                    writer.Indentation = 1;

                    writer.WriteStartDocument();
                    writer.WriteStartElement("products");

                    foreach (DataRow row in data.Rows)
                    {
                        writer.WriteStartElement("product");

                        for (int i = 0; i < data.Columns.Count; i++)
                        {
                            writer.WriteElementString(data.Columns[i].ColumnName.ToLower()[0] + data.Columns[i].ColumnName.Substring(1), row[i].ToString());
                        }

                        writer.WriteEndElement();
                    }

                    writer.WriteEndElement();
                    writer.WriteEndDocument();
                    writer.Close();
                }

                using (StreamReader resultReader = new StreamReader(new MemoryStream(result.GetBuffer())))
                {
                    textBox2.Text = resultReader.ReadToEnd();
                }
            }
        }