C# FTPHelper工具类
/// <summary>
/// Ftp
/// </summary>
public class FtpFileOperation
{
private string _ftpIp;
private string _ftpUser;
private string _ftpPassword;
private FtpWebRequest _ftpWebRequest; public FtpFileOperation(string ftpIp, string ftpUser, string ftpPassword)
{
_ftpIp = ftpIp;
_ftpUser = ftpUser;
_ftpPassword = ftpPassword;
} /// <summary>
/// Connect
/// </summary>
/// <param name="ftpUrl"></param>
/// <returns></returns>
public bool Connect(string ftpUrl)
{
try
{
_ftpWebRequest = (FtpWebRequest)FtpWebRequest.Create(ftpUrl);
_ftpWebRequest.UseBinary = true;
_ftpWebRequest.Credentials = new NetworkCredential(_ftpUser, _ftpPassword);
return true;
}
catch (Exception ex)
{
Logger.Error(ex);
return false;
}
} /// <summary>
/// Download
/// </summary>
/// <param name="ftpFilePath"></param>
/// <param name="savePath"></param>
/// <returns></returns>
public bool Download(string ftpFilePath,string savePath)
{
try
{
if (Connect(String.Format("ftp://{0}/{1}", _ftpIp, ftpFilePath)))
{
FtpWebResponse ftpResponse = (FtpWebResponse)_ftpWebRequest.GetResponse();
Stream ftpStream = ftpResponse.GetResponseStream();
byte[] buffer = new byte[];
int readCount = ;
FileStream outputStream = new FileStream(savePath, FileMode.Create);
readCount = ftpStream.Read(buffer, , buffer.Length);
while(readCount > )
{
outputStream.Write(buffer, , readCount);
readCount = ftpStream.Read(buffer, , buffer.Length);
}
ftpStream.Close();
outputStream.Close();
ftpResponse.Close();
return true;
}
}
catch (Exception ex)
{
Logger.Error(ex);
}
return false;
}
}
C# FTPHelper工具类的更多相关文章
- 【转载】C#工具类:FTP操作辅助类FTPHelper
FTP是一个8位的客户端-服务器协议,能操作任何类型的文件而不需要进一步处理,就像MIME或Unicode一样.可以通过C#中的FtpWebRequest类.NetworkCredential类.We ...
- Java基础Map接口+Collections工具类
1.Map中我们主要讲两个接口 HashMap 与 LinkedHashMap (1)其中LinkedHashMap是有序的 怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...
- Android—关于自定义对话框的工具类
开发中有很多地方会用到自定义对话框,为了避免不必要的城府代码,在此总结出一个工具类. 弹出对话框的地方很多,但是都大同小异,不同无非就是提示内容或者图片不同,下面这个类是将提示内容和图片放到了自定义函 ...
- [转]Java常用工具类集合
转自:http://blog.csdn.net/justdb/article/details/8653166 数据库连接工具类——仅仅获得连接对象 ConnDB.java package com.ut ...
- js常用工具类.
一些js的工具类 复制代码 /** * Created by sevennight on 15-1-31. * js常用工具类 */ /** * 方法作用:[格式化时间] * 使用方法 * 示例: * ...
- Guava库介绍之实用工具类
作者:Jack47 转载请保留作者和原文出处 欢迎关注我的微信公众账号程序员杰克,两边的文章会同步,也可以添加我的RSS订阅源. 本文是我写的Google开源的Java编程库Guava系列之一,主要介 ...
- Java程序员的日常—— Arrays工具类的使用
这个类在日常的开发中,还是非常常用的.今天就总结一下Arrays工具类的常用方法.最常用的就是asList,sort,toStream,equals,copyOf了.另外可以深入学习下Arrays的排 ...
- .net使用正则表达式校验、匹配字符工具类
开发程序离不开数据的校验,这里整理了一些数据的校验.匹配的方法: /// <summary> /// 字符(串)验证.匹配工具类 /// </summary> public c ...
- WebUtils-网络请求工具类
网络请求工具类,大幅代码借鉴aplipay. using System; using System.Collections.Generic; using System.IO; using System ...
随机推荐
- HDU/HDOJ 1867 A + B for you again
仔细了解KMP之后再看这题就会发现是裸题. 因为kmp我们可以求出s的f数组,表示能与p的多少前缀匹配.那么我们只需取f[s.size() - 1]即可. #include <cstdio> ...
- A1017. Queueing at Bank
Suppose a bank has K windows open for service. There is a yellow line in front of the windows which ...
- Django cookie相关操作
Django cookie 的相关操作还是比较简单的 首先是存储cookie #定义设置cookie(储存) def save_cookie(request): #定义回应 response = Ht ...
- (转)git stash使用
使用情形 综合下网上的介绍和资料,git stash(git储藏)可用于以下情形: 发现有一个类是多余的,想删掉它又担心以后需要查看它的代码,想保存它但又不想增加一个脏的提交.这时就可以考虑git s ...
- 用宏定义代替printf函数
来自:http://blog.csdn.net/yannanxiu/article/details/52506451 #define _DEBUG_ 1 #if _DEBUG_ #define PR( ...
- mfc01
1.解决不能将参数1从“const char []”转换为“LPCTSTR” ,使用多字节字符集.
- python在数据处理中常用的模块之numpy
一 numpy模块 NumPy系统是Python的一种开源的数值计算扩展.这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该 ...
- Unity 摄像机跟随
方式一:将摄像机直接拖到游戏对象的下面: 方式二:脚本实现 using System.Collections; using System.Collections.Generic; using Unit ...
- Android Studio项目引入外部库注意事项(zxing)
1.复制到app同级目录下,zxing: 2.在项目根目录下的settings.gradle下添加第三方库目录 4.在app/build.gradle下添加编译依赖 compile project(p ...
- ssm框架中从controller传值给jsp的方式
第一种方式是 通过session 第二种如下: 如何将controller层值传递到JSP页面 @RequestMapping(value="/result",method=Req ...