`
zc985552943
  • 浏览: 291118 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
Babe4ca6-5e6f-33aa-9078-762ee3ccfb7e
云计算--hadoop
浏览量:11875
5e98c2c1-2a82-3388-bc80-7fca0170bb12
redis解说
浏览量:27157
088014c7-4d3f-39ce-b72e-4ebe7046a134
MongoDB读书笔记
浏览量:16020
D2b74847-c860-3e26-96fe-3fa4498d6348
Maven读书笔记
浏览量:27248
688db20f-402d-3a1d-8188-d6153d6c7465
Java通信
浏览量:13682
社区版块
存档分类
最新评论

FTP传输和下载文件

阅读更多

public class FTPUtils {

	FTPClient ftp;

	/**
	 * 登陆FTP
	 * 
	 * @param user 登陆用户名
	 * @param password 登录密码
	 * @throws Exception
	 */
	public void init(String IP,String user, String password) throws Exception { // 初始化函数
		try {
			
			ftp = new FTPClient(IP); //建立连接
			
			ftp.login(user, password); //登录
			
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	/**
	 * 从FTP服务器上获取文件信息,包含登陆FTP流程
	 * 
	 * @param ipAddress FTP服务器的ip地址
	 * @param user 登陆用户名
	 * @param password 登录密码
	 * @return sourceFile 要获取的文件(含路径+文件名),例如/home/viewuser/nohup.out
	 * @throws Exception
	 */
	public String doFtpConnect(String ipAddress, String user, String password,
			String sourceFile) {

		ByteArrayOutputStream streamXML = null;
		String strSendMsg = "";

		try {
			FTPClient ftp = new FTPClient(ipAddress); //建立连接

			streamXML = new ByteArrayOutputStream();

			ftp.login(user, password); //登录

			//ftp.get("D:/zy/"+fileName,"/home/viewuser/nohup.out");     //生成下载文件
			ftp.get(streamXML, sourceFile); //生成输出流

			strSendMsg = streamXML.toString();

		} catch (Exception e) {
			e.printStackTrace();
		}

		return strSendMsg;

	}

	/**
	 * 从FTP服务器上获取文件信息,不包含登陆FTP流程。
	 * 
	 * @param user 登陆用户名
	 * @param password 登录密码
	 * @return sourceFile 要获取的文件(含路径+文件名),例如/home/viewuser/nohup.out
	 * @throws Exception
	 */
	public String doFtpConnect(String sourceFile) {

		ByteArrayOutputStream streamXML = null;
		String strSendMsg = "";

		try {
			streamXML = new ByteArrayOutputStream();

			//ftp.get("D:/zy/"+fileName,"/home/viewuser/nohup.out");     //生成下载文件
			ftp.get(streamXML, sourceFile); //生成输出流

			strSendMsg = streamXML.toString();

		} catch (Exception e) {
			e.printStackTrace();
		}

		return strSendMsg;

	}
	
	/**
	 * 向FTP服务器传送fileName文件
	 * 
	 * @param localPath 本地文件路径
	 * @param ftpPath FTP服务器文件路径
	 * @param fileName 文件名称
	 * @return content 服务器fileName文件及其路径
	 * @throws Exception
	 */
	public String putFtpFile(String localPath,String ftpPath,String fileName){
		String content = "";
		localPath = localPath+fileName;
		ftpPath = ftpPath+fileName;
		System.out.println("FTPUtils: localPath==="+localPath);
		System.out.println("FTPUtils: ftpPath==="+ftpPath);
		try {
			content = ftp.put(localPath,ftpPath);
		}catch (Exception e){
			e.printStackTrace();
		}
		
		return content;
	}
	
	/**
	 * 向FTP服务器传送字符串,生成fileName文件
	 * 
	 * @param sendMsg 向服务器发送信息
	 * @param ftpfile FTP服务器文件路径
	 * @param fileName 文件名称
	 * @return content 服务器fileName文件及其路径
	 * @throws Exception
	 */
	public String putFtpMsg(String sendMsg,String ftpPath,String fileName){
		String content = "";
		ftpPath = ftpPath + fileName;
		System.out.println("FTPUtils: ftpPath==="+ftpPath);
		InputStream input = new StringBufferInputStream(sendMsg); 
		
		try {
			content = ftp.put(input,ftpPath);
		}catch (Exception e){
			e.printStackTrace();
		}
		
		return content;
	}

}
 
分享到:
评论

相关推荐

    C++ 简单的Ftp文件传输

    在IT领域,FTP(File Transfer Protocol)是一种广泛用于在互联网上传输文件的协议。这个“C++简单的FTP文件传输”项目旨在为初学者提供一个学习基础FTP文件传输原理的平台。通过这个项目,你可以了解如何使用C++...

    Ftp.rar_ftp_ftp 文件传输_ftp文件传输_文件传输界面_界面端传输

    5. **FTP命令**:FTP协议定义了一系列的命令,如`USER`、`PASS`用于认证,`LIST`列出目录,`GET`和`PUT`用于下载和上传文件,`CWD`改变当前工作目录等。 6. **SSL/TLS加密**:为了增强安全性,现代FTP经常使用FTPS...

    LeapFTP一款功能强大的ftp文件传输工具,采用灵活的传输协议,主要用于文件的上传、下载、浏览和管理等操作 ABB机器人文件传输软件,传输文件通过

    WS_FTP Pro,一款功能强大的ftp文件传输工具,采用灵活的传输协议,主要用于文件的上传、下载、浏览和管理等操作 ABB机器人文件传输软件,传输文件通过FTP,SSL,SSH和HTTP / S的传输协议。

    基于openssl的ftp文件传输系统源码.zip

    基于openssl的ftp文件传输系统源码基于openssl的ftp文件传输系统源码基于openssl的ftp文件传输系统源码基于openssl的ftp文件传输系统源码基于openssl的ftp文件传输系统源码基于openssl的ftp文件传输系统源码基于...

    FTP传输文件的源码 基于服务器

    FTP传输文件时,会开启数据通道。在主动模式下,服务器会告诉客户端它将监听哪个端口,然后客户端连接到该端口进行文件传输。被动模式下,客户端首先告知服务器其数据端口,服务器随后连接到客户端的指定端口。无论...

    在PB中实现ftp传输

    综上所述,在PB中实现FTP传输有两种常见的方法:使用外部命令和使用InternetTransfer控件。前者实现简单但存在局限性;后者功能更加强大,但需要更多的配置和理解。开发者可以根据项目的具体需求选择合适的方法来...

    ftp文件传输源码

    FTP(File Transfer Protocol)是互联网上一种用于在不同主机间传输文件的标准协议。它允许用户从远程服务器上传或下载文件,极大地促进了数据共享和协作。本文将深入探讨FTP的原理、工作模式以及如何通过源码实现...

    FTP文件传输程序

    此外,进度条显示也是提高用户体验的重要特性,可以通过计算已传输文件大小与总大小的比例来实现。 安全性是FTP的一个重要问题,传统的FTP协议在明文传输用户名和密码,容易被截获。因此,现代的FTP应用常常使用...

    基于ftp的文件传输

    FTP命令通常包括登录(USER和PASS)、改变目录(CWD和CDUP)、列出目录内容(LIST和NLST)、上传文件(STOR)和下载文件(RETR)等。FTP客户端通常会提供图形界面,将这些命令封装为用户友好的操作。 FTP上传与下载...

    FTP远程上传下载文件

    压缩包中的"FTPTransmission"可能是一个包含FTP客户端实现的项目或库,可能包含用于上传、下载和进度显示的示例代码。通过研究这个项目,可以更好地理解FTP在C#和Asp.NET中的实际应用。 总的来说,FTP远程上传下载...

    FTP文件传输协议 计算机网络课设

    3. **FTP命令**:FTP协议定义了一系列命令,如`USER`、`PASS`、`CWD`(改变当前工作目录)、`LIST`(列出目录内容)、`GET`和`PUT`(分别用于下载和上传文件)。在Java FTP客户端中,我们需要实现这些命令的发送和...

    C语言实现ftp文件传输功能ftp.zip

    在实现文件上传(STOR)和下载(RETR)功能时,我们需要理解FTP的数据连接与控制连接。控制连接用于发送FTP命令,而数据连接用于实际的文件传输。C语言中,这可能通过建立多个套接字来实现,或者使用pasv模式下的一...

    FTP文件传输协议

    FTP 文件传输协议 入门可以看一下,谢谢

    FTP文件传输的简单实现

    FTP传输有ASCII和二进制两种模式。ASCII模式适用于简单的ASCII文本文件,会根据目标系统的文本格式进行转换。二进制模式则不进行任何转换,保持文件的原始位序,适用于图像、程序等非文本文件。 FTP常用的一些命令...

    FTP文件传输课程设计

    在“FTP文件传输课程设计”项目中,我们通常会学习如何实现一个基本的FTP客户端和/或服务器,这涉及到网络编程、多线程处理以及数据的加密和安全传输等知识。 1. **网络编程基础**:FTP的实现基于TCP/IP协议栈,...

    FTP.rar_FTP传输文件_ftp java_java ftp_java 文件传输_文件传输

    FTP(File Transfer Protocol)是一种广泛使用的网络协议,用于在互联网上进行文件的上传和下载。在Java编程中,实现FTP文件传输通常涉及到几个关键的知识点,包括FTP客户端库的使用、连接设置、文件操作以及异常...

    FANUC 以太网传输DNC-FTP软件

    6. **安全考虑**:使用FTP传输数据时,应考虑数据加密,以防止未经授权的访问和数据泄露。 FANUC 以太网传输DNC-FTP软件的运用,不仅简化了生产流程,降低了人工干预的必要,还提升了加工精度和一致性。对于大型...

    基于FTP的文件传输程序

    9. 断点续传:为了提高传输效率和应对网络不稳定情况,FTP客户端可以支持断点续传,即记录已传输文件的部分位置,当连接中断后可以从上次断点处继续传输。 10. 文件管理:服务器端需要对存储的文件进行管理,包括...

Global site tag (gtag.js) - Google Analytics