/**
* Description: 向FTP服务器上传文件
* @Version1.0 Jul 27, 2008 4:31:09 PM by 崔红保(cuihongbao@d-heaven.com)创建
* @param url FTP服务器hostname
* @param port FTP服务器端口
* @param username FTP登录账号
* @param password FTP登录密码
* @param path FTP服务器保存目录
* @param filename 上传到FTP服务器上的文件名
* @param input 输入流
* @return 成功返回true,否则返回false
*/
public static boolean uploadFile(String url,int port,String username, String password, String path, String filename, InputStream input) {
boolean success = false;
FTPClient ftp = new FTPClient();
try {
int reply;
ftp.connect(url, port);//连接FTP服务器
//如果采用默认端口,可以使用ftp.connect(url)的方式直接连接FTP服务器
ftp.login(username, password);//登录
reply = ftp.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
ftp.disconnect();
return success;
}
ftp.changeWorkingDirectory(path);
ftp.storeFile(filename, input);
input.close();
ftp.logout();
success = true;
} catch (IOException e) {
e.printStackTrace();
} finally {
if (ftp.isConnected()) {
try {
ftp.disconnect();
} catch (IOException ioe) {
}
}
}
return success;
}
1.将本地文件上传到FTP服务器上,代码如下:
@Test
public void testUpLoadFromDisk(){
try {
FileInputStream in=new FileInputStream(new File("D:/test.txt"));
boolean flag = uploadFile("127.0.0.1", 21, "test", "test", "D:/ftp", "test.txt", in);
System.out.println(flag);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
2.在FTP服务器上生成一个文件,并将一个字符串写入到该文件中
@Test
public void testUpLoadFromString(){
try {
InputStream input = new ByteArrayInputStream("test ftp".getBytes("utf-8"));
boolean flag = uploadFile("127.0.0.1", 21, "test", "test", "D:/ftp", "test.txt", input);
System.out.println(flag);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
下载文件:
/**
* Description: 从FTP服务器下载文件
* @Version1.0 Jul 27, 2008 5:32:36 PM by 崔红保(cuihongbao@d-heaven.com)创建
* @param url FTP服务器hostname
* @param port FTP服务器端口
* @param username FTP登录账号
* @param password FTP登录密码
* @param remotePath FTP服务器上的相对路径
* @param fileName 要下载的文件名
* @param localPath 下载后保存到本地的路径
* @return
*/
public static boolean downFile(String url, int port,String username, String password, String remotePath,String fileName,String localPath) {
boolean success = false;
FTPClient ftp = new FTPClient();
try {
int reply;
ftp.connect(url, port);
//如果采用默认端口,可以使用ftp.connect(url)的方式直接连接FTP服务器
ftp.login(username, password);//登录
reply = ftp.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
ftp.disconnect();
return success;
}
ftp.changeWorkingDirectory(remotePath);//转移到FTP服务器目录
FTPFile[] fs = ftp.listFiles();
for(FTPFile ff:fs){
if(ff.getName().equals(fileName)){
File localFile = new File(localPath+"/"+ff.getName());
OutputStream is = new FileOutputStream(localFile);
ftp.retrieveFile(ff.getName(), is);
is.close();
}
}
ftp.logout();
success = true;
} catch (IOException e) {
e.printStackTrace();
} finally {
if (ftp.isConnected()) {
try {
ftp.disconnect();
} catch (IOException ioe) {
}
}
}
return success;
}
分享到:
相关推荐
Java FTP Server是一种基于Java语言实现的FTP(File Transfer Protocol)服务器,它允许用户通过FTP协议在互联网上进行文件传输。FTP是Internet上广泛使用的标准服务之一,主要用于在客户端和服务器之间上传、下载...
Java FTP服务器文件上传下载是Java开发中常见的网络编程任务,主要涉及到FTP(File Transfer Protocol)协议的应用,用于在客户端和服务器之间传输文件。本教程将详细讲解如何使用Java实现FTP服务器的文件上传、下载...
Java FTP 客户端和服务端的开发涉及到网络编程和文件传输协议的重要概念。FTP(File Transfer Protocol)是一种标准网络协议,用于在计算机之间交换文件。Java作为一种通用的、面向对象的编程语言,提供了丰富的库来...
Java FTP技术是Java编程中用于实现文件传输协议(FTP)的一种方法,主要用于在客户端和服务器之间上传、下载文件。在Java中,我们可以使用`java.net`包中的`Socket`类来实现基本的FTP功能,但更常见的是使用Apache ...
Java FTP连接池是一种用于管理FTP(文件传输协议)连接的资源池,它的主要目标是提高应用程序的性能和效率。在传统的FTP操作中,每次需要连接到FTP服务器时都会创建一个新的连接,这会消耗大量时间和系统资源。而...
Java FTP服务器实例是一个非常实用的学习资源,特别是对于那些初次接触FTP(文件传输协议)服务器开发的Java程序员。FTP是互联网上一种广泛使用的协议,用于在客户端和服务器之间上传、下载文件。通过Java来实现FTP...
Java FTP(File Transfer Protocol)是Java编程中用于与FTP服务器交互的一种技术,它允许程序员编写应用程序来上传、下载文件,并实现断点续传功能。在本文中,我们将深入探讨Java FTP上传、下载以及断点续传的核心...
在Java编程中,FTP(File Transfer Protocol)是一个用于在计算机之间传输文件的标准协议。这篇博客“java ftp上传 下载 文件压缩解压”很可能是关于如何使用Java实现FTP文件上传、下载以及文件的压缩与解压功能。...
Java FTP文件上传下载是Java开发中常见的网络编程任务,它涉及到Java语言的Socket编程和FTP(File Transfer Protocol)协议的应用。FTP是一种用于在网络上进行文件传输的标准协议,它允许客户端从服务器上获取文件...
通过上述知识点的梳理,我们可以了解到如何使用 Java 编写一个基本的 FTP 客户端程序,包括连接 FTP 服务器、下载文件以及关闭连接等功能。此外,还可以进一步学习如何将 FTP 功能集成到 Web 应用程序中,如使用 JSP...
FTP(File Transfer Protocol)是一种广泛使用的网络协议,用于在互联网上进行文件传输。断点续传是FTP的一个重要特性,允许用户在文件...了解这些知识点将使你能够高效地实现在Java环境中进行FTP文件的断点续传操作。
JavaFTP是一个基于Java实现的FTP(File Transfer Protocol)服务器程序,它允许用户通过FTP协议进行文件的上传、下载以及管理操作。FTP是互联网上一种广泛使用的文件传输协议,主要用于在客户端和服务器之间交换文件...
### Java FTP 指定下载文件和上传文件到指定的服务器目录 #### 一、概述 在本篇文章中,我们将详细介绍如何使用Java编程语言通过FTP(文件传输协议)实现文件的上传与下载功能,并能够将文件指定上传或下载到特定...
Java FTP上传下载是Java编程语言中用于实现文件传输协议(FTP)的一种常见应用。FTP允许用户在客户端和服务器之间交换文件,这对于数据共享、备份和远程协作非常有用。以下是一些关于Java FTP上传下载的关键知识点:...
Java FTP 断续上传与下载是网络编程中的一个重要概念,主要应用于大文件传输,它可以提高文件传输的效率和可靠性。FTP(File Transfer Protocol)是一种用于在网络上进行文件传输的标准协议,而断续上传和下载则是...
Java FTP(File Transfer Protocol)上传和下载是网络编程中常见的任务,主要涉及到文件在本地与远程服务器之间的传输。本文将详细介绍如何使用Java实现FTP的上传和下载功能,并结合提供的资源——"WinFtp Server...
Java ftp工具类,可以实现ftp上传,读取,目录切换,内容创建,目录创建、检查文件是否存在,支持主动方式和被动方式读取
Java FTP上传工具包是一款专为Android平台设计的FTP客户端代码库,它允许开发者在Android应用中集成FTP文件传输功能,支持断点续传,提高了上传大文件时的效率和可靠性。这一工具包对于那些需要在移动设备上进行文件...
javaftp上传文件.txt javaftp上传文件.txt javaftp上传文件.txt
Java FTP(文件传输协议)是Java编程中用于与FTP服务器进行交互的一种技术。FTP是一种标准的网络协议,用于在互联网上可靠地交换文件。在Java中,我们可以利用Apache Commons Net库来实现FTP客户端的功能,从而上传...