ftp服务器文件上传下载
来源:互联网 发布:python 结巴分词 编辑:程序博客网 时间:2024/05/17 07:01
package com.liucb.ftputil;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
import org.apache.commons.net.ftp.FTPReply;
import java.io.*;
/**
* windows系统下配置FTP服务器
* IP 本机IP地址
* 端口 21
* ftp目录 D:/liucbftp
*/
public class FtpUtil {
//连接ftp服务器
public static FTPClient connection(String url,int port,String userName,String password){
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 null;
}
} catch (IOException e) {
e.printStackTrace();
}
return ftp;
}
//文件上传
/**
* Description: 向FTP服务器上传文件
* @param url FTP服务器hostname
* @param port FTP服务器端口
* @param username FTP登录账号
* @param password FTP登录密码
* @param path FTP服务器保存目录
* @param file 上传到FTP服务器上的文件
* @param newFileName 上传到FTP服务器后的文件名
* @return 成功返回true,否则返回false
*/
public static boolean uploadFile(String url,int port,String username, String password, String path, File file,String newFileName) {
boolean success = false;
FTPClient ftp = FtpUtil.connection(url,port,username,password);
if(ftp!=null){
try {
ftp.changeWorkingDirectory(path);
InputStream input = new FileInputStream(file);
ftp.storeFile(newFileName, input);
input.close();
ftp.logout();
success = true;
} catch (Exception e) {
e.printStackTrace();
} finally {
if (ftp.isConnected()) {
try {
ftp.disconnect();
} catch (Exception ioe) {
}
}
}
}
return success;
}
//文件下载
/**
* Description: 从FTP服务器下载文件
* @param url FTP服务器hostname
* @param port FTP服务器端口
* @param username FTP登录账号
* @param password FTP登录密码
* @param remotePath FTP服务器上的相对路径
* @param fileName 要下载的文件名
* @param localPath 下载后保存到本地的路径
* @return
*/
public static boolean downloadFile(String url, int port,String username, String password, String remotePath,String fileName,String localPath) {
boolean success = false;
FTPClient ftp = FtpUtil.connection(url,port,username,password);
if(ftp!=null){
try {
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 (Exception e) {
e.printStackTrace();
} finally {
if (ftp.isConnected()) {
try {
ftp.disconnect();
} catch (Exception ioe) {
}
}
}
}
return success;
}
public static void main(String[] args) {
//上传测试
try {
File file = new File("F:/jins.xlsx");
boolean flag = uploadFile("172.18.22.99", 21, "Administrator", "toor", "D:/liucbftp", file ,"liucb.xlsx");
System.out.println(flag);
} catch (Exception e) {
e.printStackTrace();
}
//下载测试
/*
boolean flag = downloadFile("172.18.22.99", 21, "Administrator", "toor", "D:/liucbftp", "jins.xlsx","E:");
System.out.println(flag);
*/
}
}
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
import org.apache.commons.net.ftp.FTPReply;
import java.io.*;
/**
* windows系统下配置FTP服务器
* IP 本机IP地址
* 端口 21
* ftp目录 D:/liucbftp
*/
public class FtpUtil {
//连接ftp服务器
public static FTPClient connection(String url,int port,String userName,String password){
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 null;
}
} catch (IOException e) {
e.printStackTrace();
}
return ftp;
}
//文件上传
/**
* Description: 向FTP服务器上传文件
* @param url FTP服务器hostname
* @param port FTP服务器端口
* @param username FTP登录账号
* @param password FTP登录密码
* @param path FTP服务器保存目录
* @param file 上传到FTP服务器上的文件
* @param newFileName 上传到FTP服务器后的文件名
* @return 成功返回true,否则返回false
*/
public static boolean uploadFile(String url,int port,String username, String password, String path, File file,String newFileName) {
boolean success = false;
FTPClient ftp = FtpUtil.connection(url,port,username,password);
if(ftp!=null){
try {
ftp.changeWorkingDirectory(path);
InputStream input = new FileInputStream(file);
ftp.storeFile(newFileName, input);
input.close();
ftp.logout();
success = true;
} catch (Exception e) {
e.printStackTrace();
} finally {
if (ftp.isConnected()) {
try {
ftp.disconnect();
} catch (Exception ioe) {
}
}
}
}
return success;
}
//文件下载
/**
* Description: 从FTP服务器下载文件
* @param url FTP服务器hostname
* @param port FTP服务器端口
* @param username FTP登录账号
* @param password FTP登录密码
* @param remotePath FTP服务器上的相对路径
* @param fileName 要下载的文件名
* @param localPath 下载后保存到本地的路径
* @return
*/
public static boolean downloadFile(String url, int port,String username, String password, String remotePath,String fileName,String localPath) {
boolean success = false;
FTPClient ftp = FtpUtil.connection(url,port,username,password);
if(ftp!=null){
try {
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 (Exception e) {
e.printStackTrace();
} finally {
if (ftp.isConnected()) {
try {
ftp.disconnect();
} catch (Exception ioe) {
}
}
}
}
return success;
}
public static void main(String[] args) {
//上传测试
try {
File file = new File("F:/jins.xlsx");
boolean flag = uploadFile("172.18.22.99", 21, "Administrator", "toor", "D:/liucbftp", file ,"liucb.xlsx");
System.out.println(flag);
} catch (Exception e) {
e.printStackTrace();
}
//下载测试
/*
boolean flag = downloadFile("172.18.22.99", 21, "Administrator", "toor", "D:/liucbftp", "jins.xlsx","E:");
System.out.println(flag);
*/
}
}
阅读全文
0 0
- ftp服务器文件上传下载
- Java FTP 实现跨服务器文件上传下载
- Java FTP 实现跨服务器文件上传下载
- Java FTP 实现跨服务器文件上传下载
- 利用cmd连接ftp服务器上传下载文件
- java从ftp服务器上传下载文件
- java从ftp服务器上传下载文件
- java实现文件上传下载至ftp服务器
- FTP服务器上传下载
- ftp服务器断点上传下载
- Android和FTP服务器交互,上传下载文件(实例demo)
- java+jsp代码实现从FTP服务器上传下载文件
- Java通过FTP服务器上传下载文件的解决方案
- JAVA技术实现上传下载文件到FTP服务器(完整)
- C# FTP文件上传下载
- FTP文件上传下载
- FTP上传下载文件
- java ftp 文件上传下载
- java8中DateTime类功能简介
- 斯特林近似
- ubuntu中R的升级与卸载!
- java利用可变参数实现批量判断字符串是否为空
- linux配置环境变量和挂载
- ftp服务器文件上传下载
- 108. Convert Sorted Array to Binary Search Tree
- nvidia jetson tx2 can module
- TextView实现drawable图标大小 位置与第一行文本居中
- 练习 3-2 编写一个函数escape(s, t),将字符串t复制到字符串s中,并在复制过程中将换行符、制表符等不可见字符分别转换为\n、\t等相应的可见的转义字符序列。要求使用swich语句。
- node.js学习之读取图片初步
- shell学习笔记(一)
- android解决真机无法调试的问题
- javascript基础总结