`
mimang2007110
  • 浏览: 237236 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

java 实现ftp的文件上传和删除

 
阅读更多

 

package com.tw.ftp;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

import org.apache.commons.io.IOUtils;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPReply;

/**
 *<p>ftp连接管理(使用apache commons-net-1.4.1 lib)</p>
 *
 *
 */
public class FtpConManager {
	private static FtpConManager instance;
	private FTPClient ftpClient =null;
	
	/**
	 * get FtpConManager
	 * @return FtpConManager
	 */
	public synchronized static FtpConManager getInstance(){
		if( instance == null ){
			instance = new FtpConManager();
		}
		return instance;
	}

	
	/**
	 * <p>ftp登录</p>
	 * @param s_url ftp服务地址
	 * @param uname 用户名
	 * @param pass  密码
	 */
	public void login(String s_url,String uname,String pass){
		ftpClient = new FTPClient();
		try{
			//连接
			ftpClient.connect(s_url);
			ftpClient.login(uname,pass);
			//检测连接是否成功
			int reply = ftpClient.getReplyCode();
			if(!FTPReply.isPositiveCompletion(reply)) {
				this.closeCon();
				System.err.println("FTP server refused connection.");
				System.exit(1);
			}
		}catch(Exception ex){
			ex.printStackTrace();
			//关闭
			this.closeCon();
		}
	}
	
	
	/**
	 * <p>ftp上传文件</p>
	 * @param srcUrl 须上传文件
	 * @param targetFname 生成目标文件
	 * @return true||false
	 */
	public boolean uploadFile(String srcUrl,String targetFname){
		boolean flag = false;
		if( ftpClient!=null ){
			 File srcFile = new File(srcUrl); 
			 FileInputStream fis = null;
			 try {
				fis  = new FileInputStream(srcFile);
				
				//设置上传目录 
				ftpClient.changeWorkingDirectory("/ImData/");
	            ftpClient.setBufferSize(1024); 
	            ftpClient.setControlEncoding("GBK"); 
	            
	            //设置文件类型(二进制) 
	            ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
	            //上传
	            flag = ftpClient.storeFile(targetFname, fis); 
			} catch (Exception e) {
				e.printStackTrace();
				this.closeCon();
			}finally{
				IOUtils.closeQuietly(fis);
			}
		}
		return flag;
	}//end method uploadFile
	
	
	/**
	 * 
	 * <p>删除ftp上的文件</p>
	 * @param srcFname
	 * @return true || false
	 */
	public boolean removeFile(String srcFname){
		boolean flag = false;
		if( ftpClient!=null ){
			try {
				flag = ftpClient.deleteFile(srcFname);
			} catch (IOException e) {
				e.printStackTrace();
				this.closeCon();
			}
		}
		return flag;
	}
	
	/**
	 *<p>销毁ftp连接</p> 
	 */
	public void closeCon(){
		if(ftpClient !=null){
			if(ftpClient.isConnected()){
				try {
					ftpClient.logout();
					ftpClient.disconnect();
				} catch (IOException e) {
					e.printStackTrace();
				} 
			}
		}
	}
}

测试:

 

package com.tw.ftp;

/**
 * <p>使用apache commons-net-1.4.1 实现ftp上传功能</p>
 * @author tangw 2010-12-26
 *
 */
public class FtpNetTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		FtpConManager.getInstance().login("ftp服务地址", "登陆名", "密码");
		//boolean flag = FtpConManager.getInstance().uploadFile("d://aa.zip", "2342sd.zip");
		boolean flag = FtpConManager.getInstance().removeFile("/ImData2342sd.zip");
		System.out.println("操作结果:"+flag);
		//FtpConManager.getInstance().closeCon();

	}

}

所需jar包请从附件中下载 

 

 

分享到:
评论

相关推荐

    使用java实现的linux和ftp服务器文件上传下载工具

    这是我使用java实现的linux和ftp服务器文件上传下载工具,需要电脑安装jdk8, 启动命令,java -jar linuxAndFtp.jar 启动成功后,浏览器访问:http://localhost:9999 服务器的账号密码通过服务器列表页面管理,添加的...

    java编写的ftp文件实时监控下载上传

    用java语言编写的ftp小工具,可以按指定时间监控ftp服务器,把服务器指定目录内新产生的文件或者文件夹下载到本地指定文件夹,下载后删除数据。 也可以监控本地文件夹,把文件夹内新产生的文件或者文件夹整体上传到...

    java 连接 FTP 文件操作(上传,下载,删除,复制

    文件上传是通过`FTPClient`的`storeFile`方法实现的。首先,我们需要打开一个本地文件流,然后调用`storeFile`方法,传入远程文件路径和本地文件流。 ```java File localFile = new File("localFilePath"); ...

    java实现ftp文件的上传、下载、删除源码

    以上就是Java实现FTP文件上传、下载、删除的基本步骤和关键知识点。通过理解这些概念和API,开发者可以构建自己的FTP客户端程序,实现与FTP服务器的交互。对于初学者,理解并实践这些代码可以帮助他们更好地掌握Java...

    JAVA获取FTP文件列表

    ### JAVA获取FTP文件列表知识点详解 #### 一、概述 在现代软件开发中,FTP(File Transfer Protocol)是一种广泛使用的协议,用于在网络上进行文件传输。本文档将详细介绍一个基于Java的实用工具类`FtpClientUtil`...

    java实现ftp、sftp的文件上传和下载

    这篇内容将详细介绍如何使用Java实现FTP和SFTP的文件上传与下载,并涉及相关的Apache库。 FTP是一种基于TCP的服务,主要用于在互联网上进行文件传输。Java中可以使用Apache Commons Net库来实现FTP操作。首先,需要...

    Java实现ftp上传程序源代码

    通过理解以上知识点,并参考提供的源代码和实例,开发者可以构建自己的Java FTP上传程序,满足不同场景下的文件上传需求。对于图片上传,可以特别优化文件类型检查和上传流程,确保图片文件的正确传输和保存。

    用Java实现FTP批量大文件上传下载.doc

    ### 用Java实现FTP批量大文件上传下载 #### 引言 随着互联网技术的发展和应用场景的不断拓展,文件传输已成为日常工作中不可或缺的一部分。特别是在大型工程建设项目中,往往需要频繁地在不同地点之间传输大量文件...

    FTP JAVA工具类(连接FTP,上传文件到FTP,删除FTP文件,下载FTP文件,检索FTP文件)

    3. **删除FTP文件** 调用`FTPClient`的`deleteFile`方法可以删除FTP服务器上的文件: ```java public boolean deleteFile(String filePath) { try { return ftpClient.deleteFile(filePath); } catch ...

    java 读取FTP服务器文件

    在实际开发中,你可能还需要处理更多细节,例如重试机制、异常处理、文件上传、文件删除等。了解这些知识点后,你就能在Web服务器和Linux环境下实现与FTP服务器的交互,有效地管理和读取远程文件。

    java利用FTPClient实现上传下载文件.doc

    Java 中使用 FTPClient 实现上传下载文件 Java 中使用 FTPClient 实现上传下载...使用 FTPClient 可以轻松实现文件上传和下载,并提供了许多其他功能。FTPClient 是一个非常实用的工具类,广泛应用于 Java 程序中。

    JAVA操作FTP文件服务器上传与下载文件

    在Java编程中,FTP(File Transfer ...在实际项目中,`FTPUploadAndDownLoad`这个压缩包文件很可能包含了完整的FTP文件上传下载实现,包括了这些功能的类和方法。开发者可以参考这个包来学习和构建自己的FTP操作模块。

    Java解析FTP服务器文本文件

    Java解析FTP服务器文本文件是指使用Java语言连接FTP服务器,上传、下载、递归目录遍历等基本操作的集合。在这个过程中,我们需要引入相关的jar包,例如cpdetector.jar、jchardet-1.0.jar、antlr.jar、commons-...

    java中FTP上传

    下面将详细介绍如何使用Java实现FTP文件上传功能。 首先,我们需要引入Java的FTP客户端库,最常用的是`commons-net`库中的`FTPClient`类。Apache Commons Net是Apache软件基金会的一个项目,提供了丰富的网络协议...

    JAVA 操作FTP的工具类,上传,下载,删除功能都有了。

    最后,使用`storeFile()`方法将本地文件上传到FTP服务器。确保在操作完成后调用`disconnect()`关闭连接。 FTP下载功能类似,但使用`retrieveFile()`方法从服务器获取文件并保存到本地。同样需要设置文件类型,并...

    java ftp上传进行文件

    java ftp上传进行文件的读取和上传 上传单个文件的文件流 创建远程服务器目录 删除指定文件 上传单个文件 获取指定ftp目录下文件名

    java实现ftp的所有操作

    总的来说,这个Java FTP操作项目提供了一个全面的解决方案,涵盖了FTP交互的各个方面,对学习和实现FTP应用具有很高的参考价值。开发者可以根据自己的需求,结合这些代码示例进行修改和扩展,以适应不同的文件传输...

    Java版Linux文件上传下载、windows本地文件上传下载

    不过,由于这里涉及到跨平台交互,通常我们会使用Java的网络I/O来实现HTTP或FTP服务器,用户可以通过浏览器进行文件上传和下载。 创建HTML界面可以使用HTML、CSS和JavaScript技术。HTML5引入了`&lt;input type="file"&gt;...

    java版FTP文件管理程序

    Java版FTP文件管理程序是一种基于Java编程语言实现的软件,用于通过FTP(文件传输协议)进行远程文件操作。FTP是一种广泛使用的互联网协议,允许用户在两台计算机之间上传、下载和管理文件。以下是对该程序及其相关...

    Android使用ftp方式实现文件上传和下载

    Android 使用 FTP 方式实现文件上传和下载 Android 使用 FTP 方式实现文件上传和下载是移动应用开发中的一项重要功能,特别是在 OTA 在线升级项目中,文件上传和下载是一个关键步骤。下面就 Android 使用 FTP 方式...

Global site tag (gtag.js) - Google Analytics