zoukankan      html  css  js  c++  java
  • 另一种文件读取方法(FileHelpers)

    1:前言

         本文介绍一个开源的文件读取类库,给大家提供另外一种文件读取的方法。

         项目名称:FileHelpers

         项目地址:http://www.filehelpers.com/

    2:Example

     

    代码
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    using FileHelpers;
    using FileHelpers.DataLink;

    namespace ConsoleApplication
    {

        [DelimitedRecord(
    "\t")]
        
    public class LogInfo
        {
            [FieldConverter(ConverterKind.Date, 
    "yyyy-MM-dd HH:mm:ss.FFF")]
            
    public DateTime DateTime;

            
    public string empty;

            
    public string Method;
            
    public string IsSuccess;
            
    public string ElapsedMilliseconds;
            
    public string TnsName;
            
    public string CommandText;
        }


        
    class Program
        {

            
    protected static string GetInsertSqlCust(object record)
            {
                LogInfo obj 
    = (LogInfo)record;

                
    return string.Format(
                    
    "INSERT INTO Info "
                    
    +"([DateTime]"
                    
    +",[Methord]"
                    
    +",[IsSuccess]"
                    
    +",[ElapsedMilliseconds]"
                    
    +",[TnsName]"
                    
    +",[CommandText])"
                    
    +" VALUES "
                    
    +"('{0}'"
                    
    +",'{1}'"
                    
    +",{2}"
                    
    +",{3}"
                    
    +",'{4}'"
                    
    +",'{5}')",
                    obj.DateTime.ToString().Replace(
    "'""\""),
                    obj.Method.Replace("'""\""),
                    obj.IsSuccess.Replace("'""\""),
                    obj.ElapsedMilliseconds.Replace("'""\""),
                    obj.TnsName.Replace("'""\""),
                    obj.CommandText.Replace("'""\"")
                    );

            }

            
    static void Main(string[] args)
            {
                
                FileHelperEngine engine 
    = new FileHelperEngine(typeof(CustomersTabIgnored3));

                CustomersTabIgnored3[] res 
    = (CustomersTabIgnored3[])engine.ReadFile(@"E:\Server\DACServer\log\Info\2010-04-09 16.log");

                
    foreach (CustomersTabIgnored3 record in res)
                {
                    Console.WriteLine(record.DateTime.ToString());
                    Console.WriteLine(record.Method);
                    Console.WriteLine(record.IsSuccess);
                    Console.WriteLine(record.ElapsedMilliseconds);
                    Console.WriteLine(record.TnsName);
                    Console.WriteLine(record.CommandText);
                }

                Console.ReadLine();
                

                SqlServerStorage storage 
    = new SqlServerStorage(typeof(LogInfo));

                storage.ServerName 
    = "127.0.0.1";
                storage.DatabaseName 
    = "LogInfo";

                storage.InsertSqlCallback 
    = new InsertSqlHandler(GetInsertSqlCust);

                
    try
                {
                    FileDataLink link 
    = new FileDataLink(storage);
                    link.InsertFromFile(
    @"E:\Server\DACServer\log\Info\2010-04-09 16.log");
                }
                
    catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }

            }
        }
    }

     3:后记

         该框架是值类型与引用类型的另一种转换方式。还有一个文档数据库(好像是编译不通过,随后我在细致的看看,地址是:http://groups.google.com/group/ravendb/

  • 相关阅读:
    linux 短信收发
    sama5d3 环境检测 adc测试
    【Codeforces 723C】Polycarp at the Radio 贪心
    【Codeforces 723B】Text Document Analysis 模拟
    【USACO 2.2】Preface Numbering (找规律)
    【Codeforces 722C】Destroying Array (数据结构、set)
    【USACO 2.1】Hamming Codes
    【USACO 2.1】Healthy Holsteins
    【USACO 2.1】Sorting A Three-Valued Sequence
    【USACO 2.1】Ordered Fractions
  • 原文地址:https://www.cnblogs.com/top5/p/1764216.html
Copyright © 2011-2022 走看看