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);
                }
            }
        }
    }
    

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

  • 相关阅读:
    Centos6.5安装Oracle11.2.0.4 RAC(完整版)
    VMware搭建Oracle 11g RAC测试环境 For Linux
    Linux CentOS命令行界面字体重复问题解决记录
    SSH公钥认证(码云)
    Git 上传本地仓库到码云
    Git 相关工具及教程地址
    jdk8 新特性stream().map()
    PowerDesigner 使用记录
    IDEA 中.properties文件中文自动转Unicode编码及乱码问题
    idea在Maven Projects中显示灰色的解决办法
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/4677323.html
Copyright © 2011-2022 走看看