文档章节

FTP工具类

WallacePang
 WallacePang
发布于 2016/08/09 14:08
字数 192
阅读 8
收藏 0

封装的最基本的ftp常用操作

import java.io.IOError;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

import com.enterprisedt.net.ftp.FTPClient;
import com.enterprisedt.net.ftp.FTPConnectMode;
import com.enterprisedt.net.ftp.FTPException;
import com.enterprisedt.net.ftp.FTPTransferType;


public class IdealFtpClient {
	private FTPClient ftpClient = null;
	
	public void connectServer(String server, String user, String password){
		if(ftpClient == null || !ftpClient.connected()){
			ftpClient = new FTPClient();
			try{
				ftpClient.setRemoteHost(server);
				ftpClient.setTimeout(3000);
//				ftpClient.setControlEncoding("gbk");
				ftpClient.connect();
				ftpClient.login(user, password);
				ftpClient.setConnectMode(FTPConnectMode.PASV); 
				ftpClient.setType(FTPTransferType.BINARY); 
			}catch(Exception e){
				e.printStackTrace();
			}
		}
	}

	public void changeDir(String path){
		if(path == null || path.equals("")){
			return;
		}
		String temp[] = path.split("/");
		for(int i=0;i<temp.length;i++){
			try{
				if(temp[i] == null || temp[i].equals("")){
					continue;
				}
				ftpClient.chdir(temp[i]);
			}catch(FTPException fe){
				try{
					ftpClient.mkdir(temp[i]);
					ftpClient.chdir(temp[i]);
				}catch(Exception e){
					
				}
			}catch(Exception ee){
				
			}
		}
	}

	public void uploadFile(InputStream in,String filename){
		try{
			ftpClient.put(in, filename);
		}catch(Exception e){
			e.printStackTrace();
		}
	}
	
	public void uploadFile(byte[] bytes, String filename){
		try{
			ftpClient.put(bytes, filename);
		}catch(Exception e){
			e.printStackTrace();
		}
	}
	
	public void downLoad(OutputStream out ,String filename){
		  try{
			  ftpClient.get(out, filename);
		  }catch(Exception e){
			  e.printStackTrace();
		  }
	}

	public void close(){
		try{
			if(ftpClient != null && ftpClient.connected()){
				ftpClient.quit();
				ftpClient = null;
			}
		}catch(Exception e){
			e.printStackTrace();
		}
	}
	
	public void makeDirectory(String dir) throws FTPException, IOException{
		ftpClient.mkdir(dir);
	}
}

© 著作权归作者所有

共有 人打赏支持
WallacePang
粉丝 0
博文 4
码字总数 1448
作品 0
浦东
程序员
高可用的Spring FTP上传下载工具类(已解决上传过程常见问题)

前言 最近在项目中需要和ftp服务器进行交互,在网上找了一下关于ftp上传下载的工具类,大致有两种。   第一种是单例模式的类。   第二种是另外定义一个Service,直接通过Service来实现f...

宇的季节
2017/12/07
0
0
Springmvc文件上传

文件上传 一、Springmvc文件上传到ftp服务器 FileServiceImpl: FTPUtil: 上传到ftp服务器的一些配置信息hcxmall.properties: 读取properties文件的工具类: 调用: 二、富文本文件上传 富文...

JS_HCX
2017/11/22
0
0
用commons-net包写Ftp客户端下载(二)

上次写完了工具类,那么然后就是另一个工具类了。 1.也就是对ftp上文件的遍历。 这里我发现了一个问题,下载文件的时候,每次都得重新连接,也就是一次连接只能下载一个文件。 虽然到最后我也...

猴子
2011/10/20
0
0
Java实现把图片上传到图片服务器(nginx+vsftp)

前言: 在我另一篇笔记中已经记载了如何用nginx + vsftp搭建图片服务器(请参考nginx + vsftp搭建图片服务器),并且用vsftp的客户端工具filezilla测试过已经可用。但是在开发中应该是把用户在前...

贪挽懒月
05/30
0
0
使用C#客户端访问FTP服务的一个解决方案

一、写在前面 最近工作中遇到了一个场景,要用C#客户端访问FTP服务器,并实现文件下载功能。之前我使用了一种非常简单粗暴的方法,因为客户端之前就用到了Xilium.CefGlue(可以理解为一个Web...

北风其凉
2016/07/20
970
0

没有更多内容

加载失败,请刷新页面

加载更多

gson1.7.1线程并发导致空指针问题

java.lang.NullPointerExceptionat com.google.gson.FieldAttributes.getAnnotationFromArray(FieldAttributes.java:231)at com.google.gson.FieldAttributes.getAnnotation(FieldAttribut......

东风125
59分钟前
3
0
以太坊RPC接口使用

以太坊RPC接口文档: https://github.com/ethereum/wiki/wiki/JSON-RPC#web3_clientversion 使用方式: 比如我要调用某个合约的balanceOf(address _owner)方法。 因为没有改变合约的状态,所以...

王坤charlie
今天
2
0
C#下的一个好用的日历库(sxtwl_cpp),支持农历转公历,和公历转农历等功能

sxtwl_cpp是寿星天文历的C++版本实现。支持多种语言的绑定 代码首页 懒人包 懒人包使用方法 1、右链工程中的引用-》添加引用-》浏览-》选中dotnet目录下的sxtwl.net.dll 2、生成解决方案-》找...

元谷
今天
3
0
C++基础知识

链接:https://zhuanlan.zhihu.com/p/38399566 本文主要提一下以下三个区别: 引用必须初始化,而指针可以不初始化。 我们在定义一个引用的时候必须为其指定一个初始值,但是指针却不需要。 ...

悲催的古灵武士
今天
3
0
Oracle备份脚本,保留10天数据

@echo off echo 删除10天前的备分文件和日志forfiles /p "D:\oracleback\backfile" /m *.dmp /d -10 /c "cmd /c del @path" forfiles /p "D:\oracleback\backfile" /m *.log /d -10......

lyle_luo
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部