[FTP] FTPOperater--FTP操作帮助类 (转载)
这个类是关于FTP的一些操作的
1.连接FTP服务器
2.上传
3.下载
4.删除文件
5.获取当前目录下明细(包含文件和文件夹)
6.获取FTP文件列表(包括文件夹)
7.获取当前目录下文件列表(不包括文件夹)
8.判断当前目录下指定的文件是否存在
9.创建文件夹
10.获取指定文件大小
11.更改文件名
12.移动文件
13.切换当前目录
看下面代码吧
/// <summary>
/// 类说明:CacheHelper
/// 联系方式:361983679
/// 更新网站:[url=http://www.cckan.net/thread-655-1-1.html]http://www.cckan.net/thread-655-1-1.html[/url]
/// </summary>
using System;
using System.Text;
using System.IO; namespace DotNet.Utilities
{
/// <summary>
/// FTP操作类
/// </summary>
public class FTPOperater
{
#region 属性
private FTPClient ftp;
/// <summary>
/// 全局FTP访问变量
/// </summary>
public FTPClient Ftp
{
get { return ftp; }
set { ftp = value; }
} private string _server;
/// <summary>
/// Ftp服务器
/// </summary>
public string Server
{
get { return _server; }
set { _server = value; }
} private string _User;
/// <summary>
/// Ftp用户
/// </summary>
public string User
{
get { return _User; }
set { _User = value; }
} private string _Pass;
/// <summary>
/// Ftp密码
/// </summary>
public string Pass
{
get { return _Pass; }
set { _Pass = value; }
} private string _FolderZJ;
/// <summary>
/// Ftp密码
/// </summary>
public string FolderZJ
{
get { return _FolderZJ; }
set { _FolderZJ = value; }
} private string _FolderWX;
/// <summary>
/// Ftp密码
/// </summary>
public string FolderWX
{
get { return _FolderWX; }
set { _FolderWX = value; }
}
#endregion /// <summary>
/// 得到文件列表
/// </summary>
/// <returns></returns>
public string[] GetList(string strPath)
{
if (ftp == null) ftp = this.getFtpClient();
ftp.Connect();
ftp.ChDir(strPath);
return ftp.Dir("*");
} /// <summary>
/// 下载文件
/// </summary>
/// <param name="ftpFolder">ftp目录</param>
/// <param name="ftpFileName">ftp文件名</param>
/// <param name="localFolder">本地目录</param>
/// <param name="localFileName">本地文件名</param>
public bool GetFile(string ftpFolder, string ftpFileName, string localFolder, string localFileName)
{
try
{
if (ftp == null) ftp = this.getFtpClient();
if (!ftp.Connected)
{
ftp.Connect();
ftp.ChDir(ftpFolder);
}
ftp.Get(ftpFileName, localFolder, localFileName); return true;
}
catch
{
try
{
ftp.DisConnect();
ftp = null;
}
catch { ftp = null; }
return false;
}
} /// <summary>
/// 修改文件
/// </summary>
/// <param name="ftpFolder">本地目录</param>
/// <param name="ftpFileName">本地文件名temp</param>
/// <param name="localFolder">本地目录</param>
/// <param name="localFileName">本地文件名</param>
public bool AddMSCFile(string ftpFolder, string ftpFileName, string localFolder, string localFileName, string BscInfo)
{
string sLine = "";
string sResult = "";
string path = "获得应用程序所在的完整的路径";
path = path.Substring(, path.LastIndexOf("\\"));
try
{
FileStream fsFile = new FileStream(ftpFolder + "\\" + ftpFileName, FileMode.Open);
FileStream fsFileWrite = new FileStream(localFolder + "\\" + localFileName, FileMode.Create);
StreamReader sr = new StreamReader(fsFile);
StreamWriter sw = new StreamWriter(fsFileWrite);
sr.BaseStream.Seek(, SeekOrigin.Begin);
while (sr.Peek() > -)
{
sLine = sr.ReadToEnd();
}
string[] arStr = sLine.Split(new string[] { "\n" }, StringSplitOptions.RemoveEmptyEntries); for (int i = ; i < arStr.Length - ; i++)
{
sResult += BscInfo + "," + arStr.Trim() + "\n";
}
sr.Close();
byte[] connect = new UTF8Encoding(true).GetBytes(sResult);
fsFileWrite.Write(connect, , connect.Length);
fsFileWrite.Flush();
sw.Close();
fsFile.Close();
fsFileWrite.Close();
return true;
}
catch (Exception e)
{
return false;
}
} /// <summary>
/// 删除文件
/// </summary>
/// <param name="ftpFolder">ftp目录</param>
/// <param name="ftpFileName">ftp文件名</param>
public bool DelFile(string ftpFolder, string ftpFileName)
{
try
{
if (ftp == null) ftp = this.getFtpClient();
if (!ftp.Connected)
{
ftp.Connect();
ftp.ChDir(ftpFolder);
}
ftp.Delete(ftpFileName);
return true;
}
catch
{
return false;
}
} /// <summary>
/// 上传文件
/// </summary>
/// <param name="ftpFolder">ftp目录</param>
/// <param name="ftpFileName">ftp文件名</param>
public bool PutFile(string ftpFolder, string ftpFileName)
{
try
{
if (ftp == null) ftp = this.getFtpClient();
if (!ftp.Connected)
{
ftp.Connect();
ftp.ChDir(ftpFolder);
}
ftp.Put(ftpFileName);
return true;
}
catch
{
return false;
}
} /// <summary>
/// 下载文件
/// </summary>
/// <param name="ftpFolder">ftp目录</param>
/// <param name="ftpFileName">ftp文件名</param>
/// <param name="localFolder">本地目录</param>
/// <param name="localFileName">本地文件名</param>
public bool GetFileNoBinary(string ftpFolder, string ftpFileName, string localFolder, string localFileName)
{
try
{
if (ftp == null) ftp = this.getFtpClient();
if (!ftp.Connected)
{
ftp.Connect();
ftp.ChDir(ftpFolder);
}
ftp.GetNoBinary(ftpFileName, localFolder, localFileName);
return true;
}
catch
{
try
{
ftp.DisConnect();
ftp = null;
}
catch
{
ftp = null;
}
return false;
}
} /// <summary>
/// 得到FTP上文件信息
/// </summary>
/// <param name="ftpFolder">FTP目录</param>
/// <param name="ftpFileName">ftp文件名</param>
public string GetFileInfo(string ftpFolder, string ftpFileName)
{
string strResult = "";
try
{
if (ftp == null) ftp = this.getFtpClient();
if (ftp.Connected) ftp.DisConnect();
ftp.Connect();
ftp.ChDir(ftpFolder);
strResult = ftp.GetFileInfo(ftpFileName);
return strResult;
}
catch
{
return "";
}
} /// <summary>
/// 测试FTP服务器是否可登陆
/// </summary>
public bool CanConnect()
{
if (ftp == null) ftp = this.getFtpClient();
try
{
ftp.Connect();
ftp.DisConnect();
return true;
}
catch
{
return false;
}
} /// <summary>
/// 得到FTP上文件信息
/// </summary>
/// <param name="ftpFolder">FTP目录</param>
/// <param name="ftpFileName">ftp文件名</param>
public string GetFileInfoConnected(string ftpFolder, string ftpFileName)
{
string strResult = "";
try
{
if (ftp == null) ftp = this.getFtpClient();
if (!ftp.Connected)
{
ftp.Connect();
ftp.ChDir(ftpFolder);
}
strResult = ftp.GetFileInfo(ftpFileName);
return strResult;
}
catch
{
return "";
}
} /// <summary>
/// 得到文件列表
/// </summary>
/// <param name="ftpFolder">FTP目录</param>
/// <returns>FTP通配符号</returns>
public string[] GetFileList(string ftpFolder, string strMask)
{
string[] strResult;
try
{
if (ftp == null) ftp = this.getFtpClient();
if (!ftp.Connected)
{
ftp.Connect();
ftp.ChDir(ftpFolder);
}
strResult = ftp.Dir(strMask);
return strResult;
}
catch
{
return null;
}
} /// <summary>
///得到FTP传输对象
/// </summary>
public FTPClient getFtpClient()
{
FTPClient ft = new FTPClient();
ft.RemoteHost = this.Server;
ft.RemoteUser = this.User;
ft.RemotePass = this.Pass;
return ft;
}
}
}
[FTP] FTPOperater--FTP操作帮助类 (转载)的更多相关文章
- [FTP] FTPClient--FTP操作帮助类,上传下载,文件,目录操作 (转载)
点击下载 FTPClient.zip 这个类是关于FTP客户端的操作1.构造函数 2.字段 服务器账户密码3.属性4.链接5.传输模式6.文件操作7.上传和下载8.目录操作9.内容函数看下面代码吧 / ...
- FTP上传-封装工具类
import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import ja ...
- cmd 下登陆ftp及相关操作
cmd 下登陆ftp及相关操作 2011-08-09 20:34:28| 分类: 小技巧|字号 订阅 一.举例 假设FTP地址为“ 61.129.83.39”(大家试验的时候不要以这个FTP去试,应 ...
- 高可用的Spring FTP上传下载工具类(已解决上传过程常见问题)
前言 最近在项目中需要和ftp服务器进行交互,在网上找了一下关于ftp上传下载的工具类,大致有两种. 第一种是单例模式的类. 第二种是另外定义一个Service,直接通过Service来实现ftp的上 ...
- C#工具类:Json操作帮助类(转载)
原文转载自C#工具类:Json操作帮助类_IT技术小趣屋. Json序列化和反序列化在程序开发中时常会遇到,在C#中可以使用很多种方法实现对数据的Json序列化和反序列化,封装一个Json操作工具类来 ...
- 【转载】C#工具类:Json操作帮助类
Json序列化和反序列化在程序开发中时常会遇到,在C#中可以使用很多种方法实现对数据的Json序列化和反序列化,封装一个Json操作工具类来简化相应的操作,该工具类中包含以下功能:对象转JSON.数据 ...
- 【转载】微软官方提供的Sqlserver数据库操作帮助类SQLHelper类
在.NET平台中,C#语言一般使用ADO.NET组件来操作Sqlserver数据库,通过ADO.NET组件可以实现连接数据库.查询数据集.执行SQL语句以及关闭数据库连接等操作,为此网上有很多开发者自 ...
- ftp上传下载工具类
package com.taotao.utils; import java.io.File; import java.io.FileInputStream; import java.io.FileNo ...
- 分享JAVA的FTP和SFTP相关操作工具类
1.导入相关jar <!--FTPClient--><dependency> <groupId>commons-net</groupId> <a ...
随机推荐
- Learning WCF Chapter2 Messaging Protocols
In Chapter 1,you were introduced to fundamental WCF concepts, 在章节1中,学习了wcf中的基础概念including how t ...
- 【Android 复习】:第01期:引导界面(一)ViewPager介绍和使用详解
一.ViewPager实现的效果图 二.ViewPager实现的功能 看到上面的效果图,想必大家已经猜出了这个类是干吗用的了,ViewPager类提供了多界面切换的新效果, 新效果有如下特征: < ...
- [PeterDLax著泛函分析习题参考解答]第1章 线性空间
1. 证明定理 1. 2. 验证上述结论. 3. 证明定理 3. 4. 证明定理 4. 证明: 由 $$\bex x=\sum_{k=1}^{n-1}a_k\cdot \sum_{j=1}^{n-1} ...
- 软件缺陷分析方法:ODC
资料 Orthogonal Defect Classification:简要描述. ODC-5-2.pdf :详细说明了ODC对于缺陷属性分类的描述,以及具体应该怎么划分. ODC-5-2-Exten ...
- 【ImageMagick】Unix Windows 源码安装
[ Unix 源码安装 | Windows 源码安装 ] 首先检查一下电脑里已经安装的ImageMagick版本,输入: convert -version 除非你想要把对另外的图像格式的支持或升级 ...
- java 删除字符串中的特定字符
/** * Delete any character in a given String. * @param inString the original String * @param charsTo ...
- POJ 1113 Wall 凸包求周长
Wall Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 26286 Accepted: 8760 Description ...
- java接口相关例题
java接口相关习题 interface Graphics{ //接口里面只能用抽象方法 public abstract double area(); }//设置 平面类class Plan ...
- 在地图上添加POI
使用Tangram的Marker, 可以在地图上做各种标记, 效果图: Tangram是通过Marker在地图上添加标记的,Marker分Point, Polyline和Polygon三种, 分别对应 ...
- ETL工具主流产品
主流ETL产品:Ascential公司的Datastage(Datastage在2005年被IBM收购).Informatica公司的Powercenter. NCR Teradata公司的ETL A ...