apache方式ftp文件操作
来源:互联网 发布:罗马方阵vs秦军 知乎 编辑:程序博客网 时间:2024/05/29 13:17
package util;import java.io.File;import java.io.FileInputStream;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.log4j.Logger;public class FtpManager { private static final Logger log = Logger.getLogger(FtpManager.class); String localfilename; String remotefilename; public FTPClient ftpClient; private boolean result;// 登录是否成功 //ftp超时时间 private static int ftptimes = Integer.parseInt(Configuration.readConfigString("ftptimes", "config")); //连接到ftp服务 public FtpManager(String Ip, int Port, String Ftpname, String Ftppass, String path) { connectServer(Ip, Port, Ftpname, Ftppass, path); } /** * 连接上ftp服务器 * * @param ip * @param port * @param user用户名 * @param password密码 * @param path服务器上的路径 */ public boolean connectServer(String Ip, int Port, String Ftpname, String Ftppass, String path) { try { ftpClient = new FTPClient(); ftpClient.setConnectTimeout(ftptimes); ftpClient.connect(Ip, Port); ftpClient.login(Ftpname, Ftppass); result = true; if (path.length() != 0) { ftpClient.changeWorkingDirectory(path); } // 设置以二进制方式传输 ftpClient.setFileType(ftpClient.BINARY_FILE_TYPE); log.debug("ftp[" + Ip + "]登录成功:"); } catch (Exception ex) { result = false; log.error("ftp[" + Ip + "]登录失败:"); } return result; } /** * 把远程系统上的目录切换到参数remoteDirectory所指定的目录 * * @param remoteDirectory */ public void cd(String remoteDirectory) throws IOException { ftpClient.changeWorkingDirectory(remoteDirectory); } /** * 在远端系统浏览上一级目录 * * @param remoteDirectory */ public void cdup() throws IOException { ftpClient.changeToParentDirectory(); } /** * 发送命令 cmd给服务器 * * @param cmd * @throws IOException */ public void sendServer(String cmd) throws IOException { ftpClient.sendSiteCommand(cmd); } /** * 关闭ftp连接 */ public void closeConnect() { try { ftpClient.disconnect(); } catch (IOException ex) { log.error("断开FTP服务器失败", ex); } } /** * 上传到ftp服务器 * * @throws Exception */ public boolean upload(String remoteFile, String localFile) { boolean result = false; OutputStream os = null; java.io.File file_in = new java.io.File(localFile); FileInputStream is = null; try { log.debug(localFile + "FTP文件开始上传。。。。。"); os = ftpClient.storeFileStream(remoteFile); is = new FileInputStream(file_in); byte[] bytes = new byte[4096]; int c; while ((c = is.read(bytes)) != -1) { os.write(bytes, 0, c); } log.debug(localFile + "FTP文件上传成功"); result = true; } catch (Exception ex) { result = false; log.error(localFile + ",FTP上传文件失败", ex); } finally { try { if (is != null) is.close(); if (os != null) os.close(); } catch (IOException e) { log.error("关闭流失败", e); } } log.debug(localFile + "FTP文件结束上传。。。。。结果:" + result); return result; } /** * 指定路径从ftp服务器下载 * * @param remoteFile * @param localFile */ public void download(String remoteFile, String localFile) throws Exception { try { InputStream is = ftpClient.retrieveFileStream(remoteFile); File file_in = new File(localFile); FileOutputStream os = new FileOutputStream(file_in); byte[] bytes = new byte[1024]; int c; while ((c = is.read(bytes)) != -1) { os.write(bytes, 0, c); } os.close(); is.close(); } catch (IOException ex) { log.error("FTP下载文件失败", ex); } } /** * 判断Ftp目录是否存在,如果不存在则创建目录 * */ public void isDirExist(String dir) { try { if (!ftpClient.changeWorkingDirectory(dir)) { if (ftpClient.makeDirectory(dir)) { ftpClient.changeWorkingDirectory(dir); } } } catch (Exception e) { log.error("目录创建失败", e); } } public static void main(String agrs[]) { try { FtpManager f = new FtpManager("125.88.109.47", 21, "hzdracom","hzdracom", ""); // 获取文件列表// f.isDirExist("upload/hftest"); f.upload("hftest/hf/wppp.tif", "d:\\mcs\\201502\\4154720150211101913.tif"); f.closeConnect(); System.out.println("====================="); } catch (Exception ex) { System.out.println(ex); } } public boolean isResult() { return result; } public void setResult(boolean result) { this.result = result; }}
0 0
- apache方式ftp文件操作
- Java常用FTP文件操作说明 Apache.FTPClient,ftp4j,jftp
- Java常用FTP文件操作说明 Apache.FTPClient,ftp4j,jftp
- 通过org.apache.commons.net.ftp操作文件
- java实现ftp文件操作的方式有哪些?
- FTP上传文件,Apache篇
- FTP上传文件,Apache篇
- FTP文件操作。
- ftp---文件操作
- FTP文件操作
- FTP操作文件
- Ftp服务器文件操作
- Java 中两种ftp操作方式
- 虚拟主机用户ftp和apache用户文件互操作权限解决方法
- Winform 上传文件(ftp方式)
- Winform 上传文件(ftp方式)
- Winform 上传文件(ftp方式)
- Winform 上传文件(ftp方式)
- nodejs的一些理解
- CSS 网页右下角布局代码
- iOS-Xcode制作静态库
- Hadoop MapReduce工作原理
- sql server2008密钥,sql server 2008 r2 序列号密钥
- apache方式ftp文件操作
- Wireshark抓包工具基本用法
- Html5开发总结
- 蓝天碧水中国梦-核电(1)-中国核电
- Oracle 最大连接数 Session Process
- 使用 Interface Builder 兼容 iOS6 和iOS7
- android 如何替换系统的默认静态壁纸?
- long类型转换为时间戳
- 经验总结48--项目成员分工猜想