zoukankan      html  css  js  c++  java
  • C#

    // --------------------------------------------------------------------------------------------------------------------
    // <summary>
    //   Defines the CSVFileReader type.
    // </summary>
    // --------------------------------------------------------------------------------------------------------------------
    
    namespace CSVFileReader
    {
        using System;
        using System.Collections.Generic;
        using System.IO;
        using System.Text;
    
        /// <summary>
        /// Reads a CSV file.
        /// </summary>
        public class CSVFileReader
        {
            /// <summary>
            /// The stream reader to process the CSV file reading.
            /// </summary>
            private StreamReader streamReader;
    
            /// <summary>
            /// Initializes a new instance of the <see cref="CSVFileReader"/> class.
            /// </summary>
            /// <param name="csvFilePath">
            /// The CSV file path.
            /// </param>
            /// <param name="delimiter">
            /// The delimiter.
            /// </param>
            public CSVFileReader(string csvFilePath, char delimiter)
            {
                this.CSVFilePath = csvFilePath;
                this.Delimiter = delimiter;
            }
    
            /// <summary>
            /// Finalizes an instance of the <see cref="CSVFileReader"/> class. 
            /// </summary>
            ~CSVFileReader()
            {
                this.Close();
            }
    
            /// <summary>
            /// Gets the CSV file path being read.
            /// </summary>
            public string CSVFilePath { get; private set; }
    
            /// <summary>
            /// Gets the delimiter used within the CSV file.
            /// </summary>
            public char Delimiter { get; private set; }
    
            /// <summary>
            /// Read a line from the CSV file into a list of strings.
            /// </summary>
            /// <returns>
            /// The list of string.
            /// </returns>
            public List<string> ReadLine()
            {
                this.Open();
                var resultElements = new List<string>();
                try
                {
                    var currentLine = this.streamReader.ReadLine();
                    if (currentLine != null)
                    {
                        var currentLineElements = currentLine.Split(this.Delimiter);
                        resultElements.AddRange(currentLineElements);
                    }
                }
                catch (Exception)
                {
                    this.Close();
                }
    
                return resultElements;
            }
    
            /// <summary>
            /// Opens the stream reader.
            /// </summary>
            private void Open()
            {
                if (this.streamReader == null)
                {
                    this.streamReader = new StreamReader(this.CSVFilePath, Encoding.GetEncoding(1252));
                }
            }
    
            /// <summary>
            /// Close the stream reader.
            /// </summary>
            private void Close()
            {
                if (this.streamReader == null)
                {
                    return;
                }
    
                this.streamReader.Close();
                this.streamReader.Dispose();
            }
        }
    }
    // --------------------------------------------------------------------------------------------------------------------
    // <summary>
    //   Defines the Program type.
    // </summary>
    // --------------------------------------------------------------------------------------------------------------------
    
    namespace CSVFileReader
    {
        using System;
        using System.Collections.Generic;
    
        /// <summary>
        /// The program.
        /// </summary>
        public static class Program
        {
            /// <summary>
            /// The main method.
            /// </summary>
            public static void Main()
            {
                var foo = new CSVFileReader(@"C:UsersAdministratorDesktopTmp.csv", ',');
                List<string> line;
                while ((line = foo.ReadLine()).Count != 0)
                {
                    foreach (var item in line)
                    {
                        Console.Write(item + "|");
                    }
    
                    Console.WriteLine(string.Empty);
                }
            }
        }
    }
    

    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    快速排序学习
    转载 libSVM介绍(二)
    支持向量机: Maximum Margin Classifier
    联发科笔试题之字符编码
    研究1
    在OnLButtonDown获取其他控件被点击的消息
    希尔排序学习
    快速排序
    别人的string的实现,有时间好好学习下
    完成动态根据类别动态填充区域颜色
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/4677323.html
Copyright © 2011-2022 走看看