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上传源码涉及到网络编程基础、FTP协议理解以及易语言的编程实践。通过这样的源码学习,可以深入理解网络文件传输的原理,并提升在易语言环境下进行网络编程的能力。
C# FTP上传源码涉及到的是使用C#编程语言实现FTP(File Transfer Protocol)协议来上传文件到远程服务器的技术。FTP是一种标准的网络协议,用于在计算机之间交换文件,而C#是微软开发的一种面向对象的编程语言,拥有...
标题中的“源程序_定时_PB6.5FTP上传源码_”揭示了这是一个关于PowerBuilder 6.5(简称PB6.5)的编程项目,主要功能是实现FTP(File Transfer Protocol)文件上传,并且具备定时任务的特性。这个程序可能是为了自动...
【C# FTP上传源码详解】 C#是一种广泛使用的面向对象的编程语言,尤其在Windows应用开发、游戏开发以及Web服务领域中占有重要地位。FTP(File Transfer Protocol)是用于在网络上进行文件传输的一种标准协议,它...
易语言API实现FTP上传源码.zip易语言项目例子源码下载易语言API实现FTP上传源码.zip易语言项目例子源码下载 1.合个人学习技术做项目参考 2.适合学生做毕业设计参考 3.适合小团队开发项目参考
在这个“FTP 上传源码”中,我们可以期待找到使用VB.NET编写的FTP客户端程序的源代码,这对于学习或开发相关应用来说是非常有价值的资源。 FTP的基本概念包括两个主要角色:FTP服务器和FTP客户端。服务器端负责存储...
标题“FTP上传源码”指的是一个.NET编程项目,主要用于实现FTP(File Transfer Protocol)文件上传功能。这个项目可能是一个小型的实用工具或者示例代码,用于教育开发者如何在.NET环境中利用FTP协议上传文件到远程...
易语言源码易语言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 ; } ...
通过学习和分析这个源码,我们可以深入理解易语言如何实现用户界面交互以及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上传的相关知识点,以及如何利用VB.NET实现这一功能。 首先,FTP是一种网络协议,用于在互联网上进行文件的传输。在VB.NET中,可以使用System.Net命名空间下的FtpWebRequest和FtpWebResponse...
ftp是综合性很强的上传源码工具,版本傻乎乎的大红花的
VB6.0开发的FTP DEMO 适合初学者
可以用的方便啊~可以上传源代码去自己的网站~很省事
四、FTP上传源码要点: 1. 创建FTP连接:通过Socket建立TCP连接,使用FTP命令登录服务器。 2. 设置工作模式:根据需求选择主动或被动模式。 3. 选择上传目录:通过CWD命令改变工作目录。 4. 开始上传:使用STOR命令...