*、在实际的项目开发中有这样一个需求,为了进行保密操作,在外置的服务器上搭建一个FTP服务端,然后内在的保密服务器上对该服务器进行ftp方式的主动数据抓取操作,and so on~
----欢迎拍砖,欢迎大家不吝赐教---
(~ ̄▽ ̄)~
*、登录(参数简单的封装了一下)
public static FTPClient getFtpConn(JBConfig jbConfig) { if(!ftpClient.isConnected()) { String remoteIP = ""; String userName = ""; String userPwd = ""; try { remoteIP = jbConfig.getRemoteIP(); userName = jbConfig.getUserName(); userPwd = jbConfig.getUserPwd(); ftpClient.connect(remoteIP); boolean f = ftpClient.login(userName , userPwd); if(f) { logger.warn("IP:"+remoteIP+",用户名:"+userName+"的数据库连接成功!"); } }catch(IOException e) { logger.warn("IP:"+remoteIP+",用户名:"+userName+"的数据库连接失败!"+e); } } return ftpClient; }
*、下载(内部工具函数自己随意写哈,O(∩_∩)O哈哈~)
/** * FTP下载单个文件测试 * @param remoteFileName 远程环境的绝对路径 * @param aimDir 本地下载后的文件所在的根目录 */ public static String ftpDownFile(JBConfig jbConfig , String remoteFileName , String aimDir) { getFtpConn(jbConfig); FileOutputStream fos = null; String fileName = "";//远程文件的文件名称 String localFileName = "";//本地要下载的文件位置 if(!FileTool.isExist(aimDir)) { System.exit(0);//目录文件创建失败就退出! } try { fileName = FileTool.getFileName(remoteFileName);//得到远程文件的文件名 if(aimDir.contains("/")) { localFileName = aimDir+"/"+fileName; }else if(aimDir.contains("\\")) { localFileName = aimDir+"\\"+fileName; } logger.warn("文件名提取结果是:"+fileName); logger.warn("下载到本地的目录地址路径是:"+localFileName); fos = new FileOutputStream(localFileName); ftpClient.setBufferSize(1024); ftpClient.setControlEncoding("UTF-8"); //设置文件类型(二进制) ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE); logger.warn(remoteFileName+":下载中!!!"); ftpClient.enterLocalPassiveMode();//关键点 boolean b = ftpClient.retrieveFile(new String(remoteFileName.getBytes("UTF-8"),"ISO-8859-1"), fos);//解决中文路径的问题 if(b) { logger.warn(remoteFileName+":下载成功!!!"); }else { logger.warn(remoteFileName+":下载失败!!!"); return null; } } catch (IOException e) { logger.warn("下载时FTP客户端出错!"+e); } finally { IOUtils.closeQuietly(fos); try { ftpClient.disconnect(); } catch (IOException e) { logger.warn("下载时关闭FTP连接发生异常!"+e); } } return localFileName; }
*、上传
/** * FTP上传单个文件 */ public static boolean ftpUpFile(JBConfig jbConfig , String localFileName , String aimfileName) { getFtpConn(jbConfig); FileInputStream fis = null; try { //本地文件路径 File srcFile = new File(localFileName); fis = new FileInputStream(srcFile); //设置上传目录 ftpClient.setBufferSize(1024); ftpClient.setControlEncoding("UTF-8"); //设置文件类型(二进制) ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE); logger.warn(localFileName+":上传中!!!"); ftpClient.enterLocalPassiveMode(); boolean b = ftpClient.storeFile(aimfileName, fis); if(b) { logger.warn(localFileName+":上传成功!!!"); }else { logger.warn(localFileName+":上传失败!!!"); } } catch (IOException e) { logger.warn("上传时FTP客户端出错!"+e); return false; } finally { IOUtils.closeQuietly(fis); try { ftpClient.disconnect(); } catch (IOException e) { logger.warn("上传时关闭FTP连接发生异常!"+e); } } return true; }
相关推荐
在这个"FTP上传与下载程序PB"的案例中,我们将会探讨如何使用PowerBuilder来实现FTP功能,包括文件的上传和下载,以及可能涉及的自动升级机制。 首先,理解FTP的基本概念至关重要。FTP允许用户在两台计算机之间交换...
FTP上传文件或者FTP下载文件,自测 成功
标题“FTP上传与下载pb9.0code”指的是使用PowerBuilder 9.0(简称PB9)开发的一个程序,该程序实现了FTP(File Transfer Protocol)的上传和下载功能。PowerBuilder是一款强大的可视化编程工具,特别适合于构建...
在Pb9中实现FTP上传与下载功能,可以帮助用户实现本地计算机与远程服务器之间的文件交换。 FTP上传是指将本地计算机的文件发送到远程FTP服务器的过程,这通常涉及到以下关键步骤: 1. **连接**:通过FTP客户端程序...
PB9 FTP上传与下载实例是基于PowerBuilder 9(PB9)开发的一种应用程序功能,它利用seinweb.dll组件来实现在FTP(File Transfer Protocol)服务器上进行文件的上传和下载操作。FTP是一种广泛用于互联网上的协议,...
《PowerBuilder 9.0 实现FTP上传与下载详解》 在信息技术领域,尤其是在软件开发中,数据交换和资源共享是常见的需求。对于采用PowerBuilder 9.0作为开发工具的项目,如何实现在受限环境中通过FTP(文件传输协议)...
FTP上传涉及到`storeFile()`方法,而下载则使用`retrieveFile()`。 2. CSV文件解析: CSV(Comma Separated Values)文件是一种常见的数据交换格式,通常用于导入和导出表格数据。Java中,可以使用OpenCSV或者...
在FTP上传与下载的过程中,有几个关键概念需要理解: 1. **FTP客户端**:这是用户用来连接到FTP服务器的软件,例如FileZilla、WinSCP等。客户端提供了图形化的界面,使用户能够浏览服务器目录,上传、下载文件,并...
标题"FTP上传与下载.rar"暗示了这个压缩包包含了使用PowerBuilder进行FTP传输的示例和教程。 PowerBuilder是一款强大的Windows应用程序开发工具,它支持多种数据库和接口技术。在12.6版本中,PowerBuilder提供了更...
在标题"PowerBuilder FTP上传与下载"中,我们关注的是如何利用PowerBuilder实现文件的FTP(File Transfer Protocol)传输,即上传和下载操作。FTP是一种标准网络协议,用于在计算机之间交换文件,尤其适用于在互联网...
以下是对FTP上传与下载源码相关知识点的详细说明: 一、FTP基本概念: 1. FTP服务器:提供文件存储服务,接收客户端的连接请求,处理文件传输。 2. FTP客户端:用户或应用程序用来与服务器交互,执行文件上传和下载...
这篇博客“Java实现FTP上传与下载”可能详细介绍了如何利用Java来实现FTP客户端的功能,包括文件的上传和下载。这里我们将深入探讨Java中实现FTP操作的核心知识点。 首先,Java通过`commons-net`库提供了对FTP的...
Ftp 上传与下载
在这个“真正完整的FTP上传与下载代码”中,我们很显然会涉及到使用PowerBuilder 9(PB9)开发的FTP客户端应用程序。PB9是Sybase公司的一款可视化编程工具,尤其适合创建数据驱动的应用程序。 FTP上传是指将本地...
这个压缩包文件中的"FTP上传与下载软件"是基于Eclipse集成开发环境构建的,旨在提供一个用户友好的界面来实现FTP的文件上传和下载功能。Eclipse是一个强大的开源Java集成开发环境,它支持各种插件和扩展,使得开发...
这款FTP上传与下载工具,显然是为了方便用户高效、便捷地管理他们的文件传输需求而设计的。以下将详细介绍FTP的相关知识以及这款工具可能具备的功能。 FTP协议自1971年首次被提出,是Internet上最早的服务之一。它...
在提供的文件列表中,有两份MHT文件,可能包含了使用Java实现FTP上传下载的示例代码或问题解答。MHT文件是一种单个文件的Web页面存档格式,可以使用浏览器或特定的阅读器打开查看详细内容。 总的来说,FTP上传与...
在这个“FTP上传与下载源码Pb9”的项目中,我们将深入探讨如何在PB9环境下利用FTP协议实现文件的上传和下载。 FTP上传是将本地计算机上的文件发送到远程服务器的过程,而FTP下载则是从远程服务器获取文件并保存到...