FTP服务器上传下载
来源:互联网 发布:人工智能的介绍 编辑:程序博客网 时间:2024/05/16 06:19
/**
* 登陆FTP服务器
*/
public void login(FTPClient ftpClient) throws Exception {
ReadIniInfo iniInfo = new ReadIniInfo();//读取配置文件对象
String ftpServer = iniInfo.getFtpServer();//获取FTP服务器地址
String ftpPort = iniInfo.getFtpPort();//获取FTP服务器端口
String ftpUser = iniInfo.getFtpUser();//获取FTP用户账号
String ftpPwd = iniInfo.getFtpPwd();//获取FTP用户密码
try {
// 链接到FTP服务器
ftpClient.connect(ftpServer, Integer.valueOf(ftpPort));
System.out.println("链接到FTP服务器:" + ftpServer + "成功..");
// 开始登陆服务器
boolean boo = ftpClient.login(ftpUser, ftpPwd);
if(boo){
System.out.println("登陆到FTP服务器:" + ftpServer + "成功..");
}else{
System.out.println("登陆到FTP服务器:" + ftpServer + "失败..");
logout(ftpClient);//退出/断开FTP服务器链接
}
} catch (Exception e) {
e.printStackTrace();
System.err.println("登陆到FTP服务器:" + ftpServer + "失败..");
}
}
/**
* 将ftp服务器中图片文件信息输出到byte数组中
*
*/
public byte[] getByteArray(String imagePath,FTPClient ftpClient,String fileName) {
byte[] b = null;
BufferedImage image;
ByteArrayOutputStream bos = null;
// TelnetInputStream is=new TelnetInputStream(new FileInputStream(imagePath),);
try {
// 设置以二进制流的方式传输
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
ftpClient.setControlEncoding("GBK");
ftpClient.changeWorkingDirectory(imagePath);// 转移到FTP服务器目录
FTPFile[] fs = ftpClient.listFiles();//递归目标目录
for (FTPFile ff : fs) {
if (ff.getName().equals(fileName)) {//查找目标文件
image = ImageIO.read(ftpClient.retrieveFileStream(imagePath));
bos = new ByteArrayOutputStream();
javax.imageio.ImageIO.write(image, "png", bos);
b = bos.toByteArray();//generate byte[]
return b;
}
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
System.out.println("目录为空");
e.printStackTrace();
}
finally{
try {
logout(ftpClient);//退出/断开FTP服务器链接
if(null != bos){
bos.close();
}
} catch (IOException e) {
System.out.println("关闭链接失败..");
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return null;
}
/**
* 将传来的图片byte数组信息保存到远程ftp服务器中
*
*/
public void passBackBmp(FTPClient ftpClient,String str,String fileName){
try {
byte[] b=str.getBytes();
ByteArrayInputStream is = new ByteArrayInputStream(b);
//设置被动模式
ftpClient.enterLocalPassiveMode();// 设置PassiveMode传输
// 设置以二进制流的方式传输
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
//设置字符集
ftpClient.setControlEncoding("GBK");
ftpClient.changeWorkingDirectory("svc/pic/CZ580013735677/");//改变FTP服务器目录
boolean boo = ftpClient.storeFile(fileName, is);
if(boo){
System.out.println("文件上传成功..");
}else{
System.out.println("文件上传失败..");
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
try {
logout(ftpClient);//退出/断开FTP服务器链接
} catch (IOException e) {
System.out.println("关闭链接失败..");
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
/**
* 退出/断开FTP服务器链接
*/
public void logout(FTPClient ftpClient) throws Exception{
ftpClient.logout();//退出登陆
System.out.println("已退出FTP远程服务器..");
if(ftpClient.isConnected()){
ftpClient.disconnect();//断开链接
System.out.println("已断开FTP服务器链接..");
}
}
更纤细的示例 http://download.csdn.net/detail/zxy838279821/4241071
FTPjar包 http://download.csdn.net/detail/zxy838279821/4241053
- FTP服务器上传下载
- ftp服务器断点上传下载
- ftp服务器文件上传下载
- 连接ftp服务器,进行上传下载
- MFC 实现FTP服务器上传下载
- FlashFXP连接ftp服务器上传下载
- java上传下载ftp服务器的代码!!
- java中使用ftp上传下载到服务器
- Java FTP 实现跨服务器文件上传下载
- Java FTP 实现跨服务器文件上传下载
- Centos 下搭建FTP上传下载服务器
- Java FTP 实现跨服务器文件上传下载
- 向FTP服务器上传下载工具类
- 配置FTP服务器提供上传下载功能
- 利用cmd连接ftp服务器上传下载文件
- java从ftp服务器上传下载文件
- Centos 下搭建FTP上传下载服务器
- Centos 下搭建FTP上传下载服务器
- Java13
- 在keyboard上面增加toolbar提供便捷操作-保持keyboard
- 什么是CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI?
- 好用的效果,库
- 添加开机启动项
- FTP服务器上传下载
- 承载和使用WCF服务(一) 简介
- 敏捷体验设计师应该具备的12项技能
- iphone开发之UISegmentedControl 学习随笔
- 最小代价树
- 智能指针基础
- 新员工如何快速成长
- Linux 安装常用工具
- 网站中嵌套视频播放器