去官网下载http://enterprisedt.com/ .netftp组件

目前最新版本为2.2.3,下载后在bin目录中找到edtFTPnet.dll,在项目中添加引用。

using EnterpriseDT.Net.Ftp;

public partial class test_ftp : System.Web.UI.Page {

protected void Page_Load(object sender, EventArgs e)

{         if (!IsPostBack)

{

Connect_Ftp();

insertdata();

}

}

#region 连接FTP     private static void Connect_Ftp()     {

string[] strArray = null;

FTPClient ftp = new FTPClient();

var itccConfig = ConfigFactory.GetConfig<IitccConfig>();

try

{             //以下开始获取FTP数据

ftp.RemoteHost = itccConfig.FTPIp;

ftp.ControlPort = 21;

ftp.Timeout = 0x2710;

ftp.Connect();

ftp.Login(itccConfig.FTPName, itccConfig.FTPPassWord);

ftp.ConnectMode = FTPConnectMode.PASV;

ftp.TransferType = FTPTransferType.ASCII;

ftp.ChDir("/home/ftpuser/itcc/"); //文件夹路径

strArray = ftp.Dir(".", true);

string strDay = DateTime.Now.AddDays(-1).ToString("yyyyMMdd");

//foreach (string strFile in strArray)

//{             //if (strFile.Length >= 0)

//{             //string strfilename = strFile.Substring(0, 24).TrimStart();

string strfilename = "poc_ftp_T04_2015-06-11T0329309.txt";

//if (strfilename == "per" + strDay + ".txt")

//{             // if (CheckIsOver(ConnectionString, strfilename, strDay))

//{             //if (CheckIsInserting(ConnectionString, strfilename, strDay))

//{             //string strLogFile = @"E:\log\upload\copy." + strfilename;

string strLogFile = @"E:\downftp\copy." + strfilename;

if (File.Exists(strLogFile))

File.Delete(strLogFile);

ftp.Get(strLogFile, strfilename);

//ftp.Get(strfilename);             //以上为获取FTP数据,并将文件存放在本地硬盘中

//Insert_Date(ConnectionString, null, strDay, strDataInfo, strFilePath + @"/" + strLogFile);//数据插入数据库              // }             //}             //}             //}             //}

if (ftp.Connected)

{                               ftp.Quit();

}

}         catch (Exception ex)

{             if (ftp.Connected)

{                 ftp.Quit();             }

throw ex;         }

}

#endregion

private static void insertdata()     {

FileStream fs = new FileStream("E:/downftp/copy.poc_ftp_T04_2015-06-11T0329309.txt", FileMode.Open, FileAccess.Read, FileShare.ReadWrite);

System.IO.StreamReader my = new System.IO.StreamReader(fs, System.Text.Encoding.UTF8);

string line;

while ((line = my.ReadLine()) != null)

{             //Response.Write(line + "<br />");

string[] mm = line.Split(';');

Insert(mm);         }

my.Close();

}     private static void Insert(string[] mm)

{         for (int i = 0; i < mm.Length/8; i++)

{             string employeecode = mm[i*8];

string employeename = mm[i*8+1];

string phone1 = mm[i * 8 + 2];

string phone2 = mm[i * 8 + 3];

string phone3 = mm[i * 8 + 4];

string email = mm[i * 8 + 5];

string department = mm[i * 8 + 6];

string workplace = mm[i * 8 + 7];

EmployeeCommand cmd = new EmployeeCommand();

if (cmd.EmployyeeCode(employeecode) == true)

{                 cmd.UpdateEmployee(employeecode, employeename, phone1, phone2, phone3, department, workplace, email);             }

else             {                 cmd.CreateEmployee(employeecode, employeename, phone1, phone2, phone3, department, workplace, email);

}         }     }

}

ftp读取txt数据并插入数据库的更多相关文章

  1. matlab中读取txt数据文件(txt文本文档)

    matlab中读取txt数据文件(txt文本文档) 根据txt文档不同种类介绍不同的读取数据方法 一.纯数据文件(没有字母和中文,纯数字) 对于这种txt文档,从matalb中读取就简单多了 例如te ...

  2. 【hibernate spring data jpa】执行了save()方法 sql语句也执行了,但是数据并未插入数据库中

    执行了save()方法  sql语句也执行了,但是数据并未插入数据库中 解决方法: 是因为执行了save()方法,也执行了sql语句,但是因为使用的是 @Transactional 注解,不是手动去提 ...

  3. SqlBulkCopy将DataTable中的数据批量插入数据库中

    #region 使用SqlBulkCopy将DataTable中的数据批量插入数据库中 /// <summary> /// 注意:DataTable中的列需要与数据库表中的列完全一致.// ...

  4. 多线程查询数据,将结果存入到redis中,最后批量从redis中取数据批量插入数据库中【我】

    多线程查询数据,将结果存入到redis中,最后批量从redis中取数据批量插入数据库中 package com.xxx.xx.reve.service; import java.util.ArrayL ...

  5. list转datatable,SqlBulkCopy将DataTable中的数据批量插入数据库

    /// <summary> /// 将泛类型集合List类转换成DataTable /// </summary> /// <param name="list&q ...

  6. c#逐行分元素读取记事本txt数据写进数据库

    其实这里最关键的一个方法是 StreamReader类里的 ReadLine();这个方法可以逐行读取txt流里面的数据.写了个简单的demo,已经加上了详细的注释说明.   ok,好了,不废话,下面 ...

  7. [转] JAVA读取excel数据(插入oracle数据库)

    原文地址:http://blog.csdn.net/zczzsq/article/details/16803349 本实例做的是读取execl(只能读取.xls的execl,即只能读取03版的),如果 ...

  8. java读取本地txt文件并插入数据库

    package com.cniia.ny.web.control.configManage; import java.io.BufferedReader; import java.io.File; i ...

  9. SqlBulkCopy实现大容量数据快速插入数据库中

    一般情况下,我们手写sqlhelper类,在此类中定义一个数据插入到数据库的一个方法.将数据库连接密封在using()的语句中.using显示了Idispose接口.可以及时释放数据库连接资源.代码如 ...

随机推荐

  1. KPI考核

    编辑 本词条缺少名片图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! KPI考核,Key Performance Indicator的缩写,指的是关键绩效指标考核法. 中文名 KPI考核 外 ...

  2. svn 同步到web目录

    windows  hook 下 @echo offSET REPOS=%1SET REV=%2SET DIR=%REPOS%/hooksSET PATH=%PATH%;SET WORKING=D:/w ...

  3. Java安全学习

    http://blog.csdn.net/wbw1985/article/details/5506515 http://blog.csdn.net/wbw1985/article/details/60 ...

  4. /dev/null &

    java -cp .:ojdbc14.jar com.eucalyptus.dataguard.DBCheck dadifilm slbcheck Aa7788123 > /dev/null & ...

  5. CSS3 旋转3D立方体

    <meta charset="utf-8"> <style> *{ margin:0px; padding:0px; } @-webkit-keyframe ...

  6. C#按钮客户端验证

    OnClientClick="return confirm('是否确定排除?');"

  7. java 正则表达式抽取

    package com.achun.test; import java.util.regex.Matcher;import java.util.regex.Pattern; public class ...

  8. mysql不区分大小写解决

    今天遇到一个情况,前台验证用户昵称的时候发现无论输入Fred fred亦或是FrEd 都会显示昵称存在(这并不是我所期望的结果) debug发现并不是程序问题 hibernate也只是吧hql装成my ...

  9. cocos2d-X-3.X 场景与层

    1场景与层的相关函数 1. void runWithScene(Scene * scene). 该函数可以运行场景.只能在启动第一个场景时调用该函数.如果已经有一个场景运行,则不能调用该函数. 2.  ...

  10. C++学习之指针的常见错误

    C++学习之指针的常见错误       我们在编程的过程中,有时候在使用指针的时候,删除一个指针以后一定要将这个指针设置为空指针,这是因为删除这个指针只是删除这个指针指向的地址,这个指针还真是的存在程 ...