import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
import org.apache.log4j.Logger;
public class FtpService extends BaseServiceSupport {
public static FTPClient ftpClient;
/** 连接服务器
*
* */
private void connect() {
try {
String server = Configuration.getInstance().getFtpServerIp();
String username = Configuration.getInstance().getFtpServerUsername();
String password = Configuration.getInstance().getFtpServerPassword();
ftpClient = new FTPClient();
ftpClient.connect(server);
ftpClient.login(username, password);
}
catch (IOException e) {
e.printStackTrace();
}
}
/**
* 关闭连接
*/
public void closeConnect() {
try {
ftpClient.disconnect();
}
catch (IOException e) {
e.printStackTrace();
}
}
/**
* 上传
*
*/
public void upload(InputStream is,String filename) {
try {
String destFileName = filename;
String tempFileName = "tmp_" + filename;
boolean flag = ftpClient.storeFile(tempFileName, is);
if (flag) {
ftpClient.rename(tempFileName, destFileName);
}
is.close();
}
catch (IOException e) {
e.printStackTrace();
}
}
/**
* 从服务器下载文件到本地
*/
public void download(String filepath,String filename) {
try {
FTPFile[] fileList = ftpClient.listFiles();
for (int i = 0; i < fileList.length; i++){
if(fileList[i].getName().equals(filename))continue;
String name = fileList[i].getName();
File tempFile = new File(filepath + filename);
File destFile = new File(filepath + filename);
FileOutputStream fos = new FileOutputStream(tempFile);
boolean flag = ftpClient.retrieveFile(name, fos);
// 关闭文件流
fos.close();
if (flag) {
tempFile.renameTo(destFile);
}
}
}
catch (IOException e){
e.printStackTrace();
}
}
/**
* 测试函数
* @throws FileNotFoundException
*/
public static void main(String[] args) throws FileNotFoundException{
FtpService fd = new FtpService();
fd.connect();
File file = new File("d:/logfile.log");
InputStream in = new FileInputStream(file);
fd.upload(in,"logfile.log");
fd.closeConnect();
}
}
分享到:
相关推荐
易语言API实现FTP上传源码
c# ftp上传源码 c# ftp上传源码 c# ftp上传源码
易语言API实现FTP上传源码.zip易语言项目例子源码下载易语言API实现FTP上传源码.zip易语言项目例子源码下载 1.合个人学习技术做项目参考 2.适合学生做毕业设计参考 3.适合小团队开发项目参考
易语言源码易语言FTP上传带进度源码.rar 易语言源码易语言FTP上传带进度源码.rar 易语言源码易语言FTP上传带进度源码.rar 易语言源码易语言FTP上传带进度源码.rar 易语言源码易语言FTP上传带进度源码.rar ...
C#关于FTP文件上传的源码 if ftpClient null { OpenFileDialog open new OpenFileDialog ; if open ShowDialog DialogResult OK { try { ftpClient Put open FileName ; } ...
PB6.5开发的FTP上传程序,用于简单配置FTP参数后自动定时上传文件使用。
以前那个没有上传源码,这个是源码。 一个Java Applet小程序。提供FTP上传文件(目录),支持拖放本地文件。可配置上传文件的格式等。 测试配置:Tomcat6.0 (IE控件) FTP服务端:TYPSoft FTP Server Client
易语言源码易语言FTP管理源码.rar 易语言源码易语言FTP管理源码.rar 易语言源码易语言FTP管理源码.rar 易语言源码易语言FTP管理源码.rar 易语言源码易语言FTP管理源码.rar 易语言源码易语言FTP管理源码.rar...
ftp是综合性很强的上传源码工具,版本傻乎乎的大红花的
我是初学者,试着编写了这一工具,希望对同为初学者的朋友们有所帮助.该工具能监控目录中的文件变化,并上传到FTP服务器,同时把上传的文件的相关信息写入到SQLite数据库中.
VB6.0开发的FTP DEMO 适合初学者
可以用的方便啊~可以上传源代码去自己的网站~很省事
可以用于FTP上传的VB源码,已经测试过,可以使用!
FTP上传FtpClient,不是我写的,但很好用,我只是想赚够五分去下载http://download.csdn.net/source/301453这个页面的支付宝接口示例........
易语言源码易语言FTP操作API源码.rar 易语言源码易语言FTP操作API源码.rar 易语言源码易语言FTP操作API源码.rar 易语言源码易语言FTP操作API源码.rar 易语言源码易语言FTP操作API源码.rar 易语言源码易语言FTP...
功能很强的FTP 上传软件 可以用来编程参考 VB.NET
易语言API实现FTP上传源码
FTP上传源码