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;
}
}
分享到:
相关推荐
在IT领域,FTP(File Transfer Protocol)是一种广泛用于在互联网上传输文件的协议。这个“C++简单的FTP文件传输”项目旨在为初学者提供一个学习基础FTP文件传输原理的平台。通过这个项目,你可以了解如何使用C++...
5. **FTP命令**:FTP协议定义了一系列的命令,如`USER`、`PASS`用于认证,`LIST`列出目录,`GET`和`PUT`用于下载和上传文件,`CWD`改变当前工作目录等。 6. **SSL/TLS加密**:为了增强安全性,现代FTP经常使用FTPS...
WS_FTP Pro,一款功能强大的ftp文件传输工具,采用灵活的传输协议,主要用于文件的上传、下载、浏览和管理等操作 ABB机器人文件传输软件,传输文件通过FTP,SSL,SSH和HTTP / S的传输协议。
基于openssl的ftp文件传输系统源码基于openssl的ftp文件传输系统源码基于openssl的ftp文件传输系统源码基于openssl的ftp文件传输系统源码基于openssl的ftp文件传输系统源码基于openssl的ftp文件传输系统源码基于...
FTP传输文件时,会开启数据通道。在主动模式下,服务器会告诉客户端它将监听哪个端口,然后客户端连接到该端口进行文件传输。被动模式下,客户端首先告知服务器其数据端口,服务器随后连接到客户端的指定端口。无论...
综上所述,在PB中实现FTP传输有两种常见的方法:使用外部命令和使用InternetTransfer控件。前者实现简单但存在局限性;后者功能更加强大,但需要更多的配置和理解。开发者可以根据项目的具体需求选择合适的方法来...
FTP(File Transfer Protocol)是互联网上一种用于在不同主机间传输文件的标准协议。它允许用户从远程服务器上传或下载文件,极大地促进了数据共享和协作。本文将深入探讨FTP的原理、工作模式以及如何通过源码实现...
此外,进度条显示也是提高用户体验的重要特性,可以通过计算已传输文件大小与总大小的比例来实现。 安全性是FTP的一个重要问题,传统的FTP协议在明文传输用户名和密码,容易被截获。因此,现代的FTP应用常常使用...
FTP命令通常包括登录(USER和PASS)、改变目录(CWD和CDUP)、列出目录内容(LIST和NLST)、上传文件(STOR)和下载文件(RETR)等。FTP客户端通常会提供图形界面,将这些命令封装为用户友好的操作。 FTP上传与下载...
压缩包中的"FTPTransmission"可能是一个包含FTP客户端实现的项目或库,可能包含用于上传、下载和进度显示的示例代码。通过研究这个项目,可以更好地理解FTP在C#和Asp.NET中的实际应用。 总的来说,FTP远程上传下载...
3. **FTP命令**:FTP协议定义了一系列命令,如`USER`、`PASS`、`CWD`(改变当前工作目录)、`LIST`(列出目录内容)、`GET`和`PUT`(分别用于下载和上传文件)。在Java FTP客户端中,我们需要实现这些命令的发送和...
在实现文件上传(STOR)和下载(RETR)功能时,我们需要理解FTP的数据连接与控制连接。控制连接用于发送FTP命令,而数据连接用于实际的文件传输。C语言中,这可能通过建立多个套接字来实现,或者使用pasv模式下的一...
FTP 文件传输协议 入门可以看一下,谢谢
FTP传输有ASCII和二进制两种模式。ASCII模式适用于简单的ASCII文本文件,会根据目标系统的文本格式进行转换。二进制模式则不进行任何转换,保持文件的原始位序,适用于图像、程序等非文本文件。 FTP常用的一些命令...
在“FTP文件传输课程设计”项目中,我们通常会学习如何实现一个基本的FTP客户端和/或服务器,这涉及到网络编程、多线程处理以及数据的加密和安全传输等知识。 1. **网络编程基础**:FTP的实现基于TCP/IP协议栈,...
FTP(File Transfer Protocol)是一种广泛使用的网络协议,用于在互联网上进行文件的上传和下载。在Java编程中,实现FTP文件传输通常涉及到几个关键的知识点,包括FTP客户端库的使用、连接设置、文件操作以及异常...
6. **安全考虑**:使用FTP传输数据时,应考虑数据加密,以防止未经授权的访问和数据泄露。 FANUC 以太网传输DNC-FTP软件的运用,不仅简化了生产流程,降低了人工干预的必要,还提升了加工精度和一致性。对于大型...
9. 断点续传:为了提高传输效率和应对网络不稳定情况,FTP客户端可以支持断点续传,即记录已传输文件的部分位置,当连接中断后可以从上次断点处继续传输。 10. 文件管理:服务器端需要对存储的文件进行管理,包括...