import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
import org.apache.commons.net.ftp.FTPReply;
/**
* <p>
* Title: Adage_[子系统统名]_[模块名]
* </p>
* <p>
* Description: [ftp上传下载文件]
* </p>
*
* @author benDaoRong
* @version $Revision$ 2014-8-14
* @author (lastest modification by $Author$)
* @since 1.0
*/
public class FtpTest {
/**
* <p>
* Discription:[上传文件到ftp服务器]
* </p>
*
* @return
*/
public static boolean upload() {
String url = "10.1.50.111";
String username = "test";
String password = "test";
FTPClient client = new FTPClient();
try {
client.connect(url);
client.login(username, password);
int reply = client.getReplyCode();
System.out.println("reoktCode:" + reply);
//
if (!FTPReply.isPositiveCompletion(reply)) {
client.disconnect();
return false;
}
client.changeWorkingDirectory("F:/FTPROOT");
// 上传文件
// FileInputStream fileInput = new FileInputStream("F:/Desktop/620.txt");
// System.out.println("文件上传中,请耐心等待!");
// client.storeFile(new String("620.txt".getBytes("UTF-8"), "iso-8859-1"), fileInput);
// System.out.println("文件上传完成");
// 在ftp服务器上新建一个文件,然后将输入流写入文件。
InputStream input = new ByteArrayInputStream("今天测试ftp很成功111".getBytes());
client.storeFile(new String("中文名2.txt".getBytes("UTF-8"), "iso-8859-1"), input);
input.close();
}
catch (Exception e) {
e.printStackTrace();
}
finally {
if (client.isConnected()) {
try {
client.disconnect();
System.out.println("关闭ftp连接");
}
catch (IOException e) {
e.printStackTrace();
}
}
}
return true;
}
/**
* <p>
* Discription:[从ftp服务器下载文件]
* </p>
*/
public static void download() {
String url = "10.1.50.111";
String username = "test";
String password = "test";
FTPClient client = new FTPClient();
try {
client.connect(url);
client.login(username, password);
int reply = client.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
client.disconnect();
}
// 设置ftp根目录
client.changeWorkingDirectory("F:/FTPROOT");
// 下载文件
FTPFile[] files = client.listFiles();
if (files != null && files.length > 0) {
for (FTPFile file : files) {
String fileName = new String(file.getName().getBytes("iso-8859-1"), "UTF-8");
// 本地文件存放目录
String localName = System.currentTimeMillis() + "_" + fileName;
OutputStream out = new FileOutputStream(new File("F:/Desktop/" + localName));
client.retrieveFile(file.getName(), out);
out.close();
System.out.println("文件[" + fileName + "]下载成功");
}
}
client.logout();
}
catch (Exception e) {
e.printStackTrace();
}
finally {
if (client.isConnected()) {
try {
client.disconnect();
}
catch (IOException e) {
e.printStackTrace();
}
}
}
}
public static void main(String[] args) {
// upload();
download();
}
}
分享到:
相关推荐
在Java中实现FTP(文件传输协议)上传和下载文件功能,通常会使用Apache Commons Net库。这个库提供了FTPClient类,使得与FTP服务器交互变得简单。以下是对代码中涉及的知识点的详细解释: 1. **Apache Commons Net...
NULL 博文链接:https://yl244532032.iteye.com/blog/1863433
JAVA实现ftp上传,下载,实现java语言编写上传ftp
用JAVA实现Ftp文件上传下载,提供实现方法和测试用例
Java实现FTP文件上传和下载
java FTP 实现上传 下载 拷贝 亲测可用 java FTP 实现上传 下载 拷贝 java FTP 实现上传 下载 拷贝
Java实现FTP批量大文件上传下载 一、Java FTP客户端库的选择 在选择Java FTP客户端库时,需要考虑多个因素,例如性能、安全性、可靠性等。当前有多种FTP客户端库可供选择,例如J-FTP、SimpleFTP、FTPClient等。每...
java实现ftp上传jar包,里边包括edtftpj.jar、commons-net-1.4.1.jar、jakarta-oro-2.0.8.jar
java实现本地与远程ftp上传,以及同时登陆连个ftp互相上传下载
一款由java实现ftp自动上传整个磁盘所有文件,包括目录,下面的JTextArea读取Log4j及命令行的信息,采用第三方ftpClient.不过下载的部分还没有时间去做.
简单的实现了单个文件的上传与下载,内附使用方法
Java,FTP,用Java实现FTP批量大文件上传下载
java实现的ftp文件上传
Java 实现 FTP 批量大文件上传下载 本文介绍了如何使用 Java 实现 FTP 服务器上的大批量文件的上传和下载,处理大文件的上传和下载。通过 Java 现有的可用的库来编写 FTP 客户端代码,并开发成 Applet 控件,做成...
这是我使用java实现的linux和ftp服务器文件上传下载工具,需要电脑安装jdk8, 启动命令,java -jar linuxAndFtp.jar 启动成功后,浏览器访问:http://localhost:9999 服务器的账号密码通过服务器列表页面管理,添加的...
java实现文件上传到fpt,里面一些很简单的操作适合初学者。
本文将详细介绍如何使用Java实现FTP的上传和下载功能。主要涉及以下知识点: 1. **FTP客户端的创建与连接**: - 使用`FtpClient`对象来代表FTP客户端。在示例代码中,首先创建`FtpClient`实例,然后调用`open...
java写的ftp,下载上传文件,定时监控下载上传,自动解压加压,