- 浏览: 582869 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (174)
- JBPM (3)
- WWF (0)
- JavaScript (11)
- J2EE (40)
- OperationSystem (11)
- 数据库 (12)
- CSS (1)
- Ajax (2)
- J2SE (30)
- Tools (10)
- 服务器中间件 (3)
- 异常 (0)
- Flex (5)
- jQuery (11)
- html (9)
- Ejb (1)
- HTML5 Shiv–让该死的IE系列支持HTML5吧 (1)
- Spring (9)
- Quartz (3)
- log4j (1)
- maven (1)
- cpdetector (1)
- JSON (1)
- log4jdbc (1)
- asm (8)
- FusionCharts (1)
- jqplot (1)
- highcharts (1)
- excanvas (1)
- html5 (1)
- jpcap介绍 (1)
- weblogic (3)
- URLURLClassLoader (0)
- URLClassLoader (1)
- ant (2)
- ivy (2)
- nexus (1)
- IT (0)
- LoadRunner (1)
- SCSS (1)
- ruby (1)
- webstorm (1)
- typescript (1)
- Jboss7 (1)
- wildfly (1)
- oracle (5)
- esb (0)
- dubbo (2)
- zookeeper (3)
- eclipse (1)
- Android (2)
- Studio (1)
- Google (1)
- 微信 (1)
- 企业号 (1)
- Linux (13)
- Oracle12c (1)
- Hadoop (1)
- InletexEMC (1)
- Windows (1)
- Netty (3)
- Marshalling (2)
- Protobuf (1)
- gcc (1)
- Git (1)
- GitLab (1)
- shell (2)
- java (3)
- Spring4 (1)
- hibernate4 (1)
- postgresql (1)
- ApacheServer (2)
- Tomcat (2)
- ApacheHttpServer (2)
- realvnc (1)
- redhat (7)
- vncviewer (1)
- LVS (4)
- LVS-DR (1)
- RedHat6.5 (5)
- LVS-NAT (1)
- LVS-IPTUNNEL (2)
- LVS-TUN (1)
- keepalived (2)
- yum (1)
- iso (1)
- VMware (1)
- redhat5 (1)
- ha (1)
- nginx (2)
- proguard (1)
- Mat (1)
- DTFJ (1)
- axis2 (1)
- web service (1)
- centos (1)
- random (1)
- urandom (1)
- apache (1)
- IBM (1)
- cve (1)
- 漏洞 (1)
- JDBC (1)
- DataSource (1)
- jdk (1)
- tuxedo (2)
- wtc (1)
最新评论
-
skying007:
好资料,谢谢分享给啊
FusionCharts在服务器端导出图片(J2EE版) -
cgnnzg:
大神好 可以发一份源码给我学习么 多谢了 978241085 ...
springmvc+dubbo+zookeeper -
jifengjianhao:
求源码:854606899@qq.com
springmvc+dubbo+zookeeper -
wdloyeu:
shihuan8@163.com邮箱网盘在哪,没找到。能给份源 ...
Java Socket长连接示例代码 -
huangshangyuanji:
求代码:45613032@qq.com
springmvc+dubbo+zookeeper
FTP上传下载的例子:
模拟telnet登录的例子:
【注】:除了上面两个例子外还可以参考官方包里面带的examples文件夹例子。
import java.io.File; 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.commons.net.ftp.FTPFile; import org.apache.commons.net.ftp.FTPReply; public class TestUploadDownload { /** * Description: 向FTP服务器上传文件 * @param url FTP服务器hostname * @param port FTP服务器端口 * @param username FTP登录账号 * @param password FTP登录密码 * @param path FTP服务器保存目录 * @param filename 上传到FTP服务器上的文件名 * @param input 输入流 * @return 成功返回true,否则返回false */ public boolean uploadFile(String url, int port, String username, String password, String path, String filename, InputStream input) { // 初始表示上传失败 boolean success = false; // 创建FTPClient对象 FTPClient ftp = new FTPClient(); try { int reply; // 连接FTP服务器 // 如果采用默认端口,可以使用ftp.connect(url)的方式直接连接FTP服务器 ftp.connect(url, port); // 登录ftp ftp.login(username, password); // 看返回的值是不是230,如果是,表示登陆成功 reply = ftp.getReplyCode(); // 以2开头的返回值就会为真 if (!FTPReply.isPositiveCompletion(reply)) { ftp.disconnect(); return success; } // 转到指定上传目录 ftp.changeWorkingDirectory(path); // 将上传文件存储到指定目录 ftp.storeFile(filename, input); // 关闭输入流 input.close(); // 退出ftp ftp.logout(); // 表示上传成功 success = true; } catch (IOException e) { e.printStackTrace(); } finally { if (ftp.isConnected()) { try { ftp.disconnect(); } catch (IOException 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 boolean downFile(String url, int port, String username, String password, String remotePath, String fileName, String localPath) { // 初始表示下载失败 boolean success = false; // 创建FTPClient对象 FTPClient ftp = new FTPClient(); try { int reply; // 连接FTP服务器 // 如果采用默认端口,可以使用ftp.connect(url)的方式直接连接FTP服务器 ftp.connect(url, port); // 登录ftp ftp.login(username, password); reply = ftp.getReplyCode(); if (!FTPReply.isPositiveCompletion(reply)) { ftp.disconnect(); return success; } // 转到指定下载目录 ftp.changeWorkingDirectory(remotePath); // 列出该目录下所有文件 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 ftp.logout(); // 下载成功 success = true; } catch (IOException e) { e.printStackTrace(); } finally { if (ftp.isConnected()) { try { ftp.disconnect(); } catch (IOException ioe) { } } } return success; } /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub } }
模拟telnet登录的例子:
import java.io.InputStream; import java.io.PrintStream; import org.apache.commons.net.telnet.EchoOptionHandler; import org.apache.commons.net.telnet.SuppressGAOptionHandler; import org.apache.commons.net.telnet.TelnetClient; import org.apache.commons.net.telnet.TerminalTypeOptionHandler; /** * 使用apache的commons-net包模拟telnet登录 */ public class TestTelnet { private TelnetClient telnet = null; private InputStream in; private PrintStream out; private char prompt = '#'; //linux提示符 /** * 登录linux * @param server * @param user * @param password */ public TestTelnet(String server, String user, String password) { try { // Connect to the specified server telnet = new TelnetClient(); TerminalTypeOptionHandler ttopt = new TerminalTypeOptionHandler( "VT100", false, false, true, false); EchoOptionHandler echoopt = new EchoOptionHandler(true, false, true, false); SuppressGAOptionHandler gaopt = new SuppressGAOptionHandler(true, true, true, true); telnet.addOptionHandler(ttopt); telnet.addOptionHandler(echoopt); telnet.addOptionHandler(gaopt); telnet.connect(server, 23); // Get input and output stream references in = telnet.getInputStream(); out = new PrintStream(telnet.getOutputStream()); // Log the user on readUntil("login: "); write(user); readUntil("Password: "); write(password); // Advance to a prompt readUntil("$" + " "); // readUntil("$" + "su = root"); // write("su - root"); } catch (Exception e) { e.printStackTrace(); } } /** * 改变当前登录用户 * @param user 用户名 * @param password 密码 * @param serTile linux用户提示符 * @return */ public String suUser(String user, String password, String userTitle) { // System.out.println("改变当前用户:"); write("su - " + user); // System.out.println("准备读取返回的流,看是不是可以继续录入密码了:"); readUntil("密码:");// 有可能不是中文,先用telnet命令测试下 // System.out.println("返回信息提示可以录入密码,才开始录密码:"); write(password); return readUntil(userTitle + " "); } /** * 读取流信息 * @param pattern 流读取时的结束字符 * @return */ public String readUntil(String pattern) { try { char lastChar = pattern.charAt(pattern.length() - 1); // System.out.println("当前流的字符集:"+new // InputStreamReader(in).getEncoding()); StringBuffer sb = new StringBuffer(); byte[] buff = new byte[1024]; int ret_read = 0; String str = ""; do { ret_read = in.read(buff); if (ret_read > 0) { // 把读取流的字符转码,可以在linux机子上用echo $LANG查看系统是什么编码 String v = new String(buff, 0, ret_read, "UTF-8"); str = str + v; // System.out.println("debug:"+str+"========"+pattern); if (str.endsWith(pattern)) { // System.out.println("退出:"+str+"========"+pattern); break; } } } while (ret_read >= 0); return str; } catch (Exception e) { e.printStackTrace(); } return null; } /** * 向流中发送信息 * @param value */ public void write(String value) { try { out.println(value); out.flush(); System.out.println("录入命令:" + value); } catch (Exception e) { e.printStackTrace(); } } /** * 运行命令,默认linux提示符是'$' * @param command 命令 * @return */ public String sendCommand(String command) { try { prompt = '$'; write(command); return readUntil(prompt + " "); } catch (Exception e) { e.printStackTrace(); } return null; } /** * 运行命令,默认linux提示符是'$' * @param command 命令 * @param userTitle linux提示符 * @return */ public String sendCommand(String command, char userTitle) { try { prompt = userTitle; write(command); return readUntil(prompt + " "); } catch (Exception e) { e.printStackTrace(); } return null; } /** * 释放连接 */ public void disconnect() { try { telnet.disconnect(); } catch (Exception e) { e.printStackTrace(); } } /** * @param args */ public static void main(String[] args) { try { TestTelnet telnet = new TestTelnet("192.168.0.1", "zhsoft", "rootroot"); // 使用--color=no屏蔽ls命令的颜色,要不会有乱码 String reStr = telnet.sendCommand("ls --color=no"); System.out.println(reStr.replaceFirst("ls --color=no", "")); telnet.suUser("root", "rootroot", "#"); String reStr2 = telnet.sendCommand("ls --color=no", '#'); System.out.println(reStr2.replaceFirst("ls --color=no", "")); telnet.disconnect(); } catch (Exception e) { e.printStackTrace(); } } }
【注】:除了上面两个例子外还可以参考官方包里面带的examples文件夹例子。
- 银行端Mesp平台文件传输程序_含jdbc和ftp校验工具类_.rar (3.1 MB)
- 下载次数: 1
发表评论
-
Spring4Mvc整合Hibernate4框架示例
2016-02-05 11:52 1403今天用NetBeans8.1搭建了一套Spring4MVC+H ... -
Spring4配置properties文件的一点儿细节
2016-02-04 15:40 2806http://repo.spring.io/release/o ... -
JavaWeb发送信息到微信公众平台的企业号
2015-11-01 22:42 3806首先到微信公众平台申请微信企业号: https://qy.we ... -
springmvc+dubbo+zookeeper
2015-09-22 11:34 12035笔者这里使用的是apache- ... -
OracleAS10g安装配置与部署
2015-07-01 20:59 712先到Oracle官方下载OracleAS10的安装包,截图如下 ... -
java和spring使用weblogic数据源配置
2014-10-13 11:29 3034需要weblogic.jar和jrmpclient.jar ... -
一套基本的SpringMvc工程所需要的最基本jar包(pom.xml)
2014-08-19 16:38 1916附件里是pom.xml文件。 -
html的form表单提交得不到参数问题
2014-07-25 16:13 1864今天同事问我他的form表单按submit方式提交,在Java ... -
Spring3Mvc导出PDF的3种形式+导出excel的两种形式(exportAnimal.do)
2014-07-19 22:55 1146附件里SpringMvc导出PDF和Excel的示例代码。 ... -
Java利用中国网建SMS短信通平台发送手机短信
2014-04-26 21:55 2248JAVA发送手机短信,流传有几种方法: (1)使用webser ... -
在Java中发送电子邮件
2014-04-26 18:42 9613要先申请一个网易的126邮箱和一个新浪的com邮箱。 以下程 ... -
cpdetector_1.0.10_binary下载
2014-03-26 20:53 1045附件里是cpdetector_1.0.10_binary.ra ... -
在Java代码中用Axis2调用DotNet语言的WebService程序
2014-02-19 15:19 2583package com.shihuan.ymail.com ... -
SpringMvc多语言配置
2014-01-14 16:01 14436applicationContext.xml文件中加入如下代码 ... -
log4j多级别多输出文件的配置
2013-07-22 21:28 1578以下代码需要log4j-1.2.17.jar的支持。 B ... -
mysql和Oracle在对clob和blob字段的处理
2012-08-25 18:50 30920一、MySQL与Oracle数据库如何处理Clob,Bl ... -
Spring3Mvc+Hibernate整合Axis2发布WebService并配置Quartz调度
2012-08-05 12:54 2220附件里是笔者的源代码,相关的jar包在笔者的abcdef的16 ... -
Lucene案例
2012-06-10 15:15 2612IndexerMmseg4j.java代码如下: import ... -
Mina入门程序
2012-06-02 15:05 1154附件里是Mina的入门程序。 http://mina.apa ... -
让Hibernate的执行语句看见完整参数
2012-04-29 10:09 1048http://www.ibm.com/developerwor ...
相关推荐
Commons Net还包含了一些日期和时间的处理工具,如InternetDateFormat类,可以按照RFC822和RFC1123标准格式化日期,这在处理HTTP头部或电子邮件时非常有用。 7. **版本差异** 从3.3升级到3.4,主要的改进可能包括...
3. **commons-net-examples-3.6.jar**:包含了一些示例代码,演示了如何使用Apache Commons Net库的各种功能。这些例子是学习和快速上手的良好起点,可以帮助开发者快速理解和应用库中的函数。 此外,压缩包中还有...
- 虽然不作为主要功能,但 Commons Net 还提供了一些基础的URL连接和HTTP请求处理功能。 - 新版本可能对HTTP协议的兼容性进行了扩展,或者提升了请求处理的效率。 9. **API稳定性和易用性**: - 随着版本迭代,...
使用commons-net-1.4.1.jar,FTPClient连接成功了,但是ftpClient.listFiles(path).length=0 怎么办? 下载本工具,彻底解决问题。 不要增加类,也不要修改任何代码。 不要犹豫了,干掉commons-net-1.4.1.jar包,用这...
《Apache Commons Net 3.6:FTP操作与源码解析》 Apache Commons Net是一个Java库,专注于网络协议的实现,尤其是FTP(文件传输协议)相关的功能。在这个版本中,我们聚焦于`commons-net-3.6.jar`,它提供了丰富的...
本文将深入解析`commons-net-3.6.jar`包,了解其核心功能、使用方法以及在实际开发中的应用。 Apache Commons Net库自1999年以来就一直在为Java开发者提供服务,它的主要目标是提供一套全面且易于使用的API,用于...
《Apache Commons Net FTP库在Java开发中的应用》 Apache Commons Net是一个Java库,它提供了对各种网络协议的支持,其中就包括FTP(File Transfer Protocol)协议。在这个特定的案例中,我们关注的是`commons-...
在这个压缩包"commons-net-3.3-3.4-3.5-3.6.zip"中,包含了Apache Commons Net库的四个不同版本:3.3、3.4、3.5和3.6,这使得开发者可以根据项目的具体需求选择适合的版本。 Apache Commons Net库是Apache软件基金...
在实际应用中,开发者通常会结合Apache Commons Net和其他库,如IOUtils(来自Apache Commons IO)来处理输入/输出流,以实现更高效的文件操作。通过使用这些经过验证和广泛使用的库,开发者可以减少错误和提高代码...
《Apache Commons Net 3.3:FTP开发利器详解》 Apache Commons Net库是Apache软件基金会的一个项目,专注于网络协议的实现,尤其是FTP(文件传输协议)相关的功能。在这个3.3版本的jar包中,开发者可以找到一系列...
3. **Apache Commons Collections** `commons-collections-3.2.jar` 是Apache Commons项目下的另一个组件,提供了大量对Java集合框架的扩展和实用工具类。这个库在DBCP中可能用于辅助处理数据结构,例如存储和操作...
在本篇文章中,我们将深入探讨"commons-net-3.2.jar"这一版本的功能、特性以及如何在实际项目中应用。 一、概述 Apache Commons Net 3.2是该库的一个稳定版本,它提供了一系列接口和类,以支持各种网络协议的操作...
在Java开发中,上传文件是一项常见的任务,而`commons-fileupload-1.3.3.jar`和`commons-io-2.6.jar`是Apache Commons项目中的两个重要库,专门用于处理HTTP请求中的文件上传功能。这两个库为开发者提供了便捷、高效...
**标题解析:**"jar包-commons-net-3.3.jar" 这个标题表明我们正在讨论的是一个Java Archive(JAR)文件,名为"commons-net-3.3.jar"。JAR文件是Java平台上的标准归档格式,通常用于打包类库、资源文件以及应用程序...
这两个JAR文件,`commons-dbcp-1.4.jar` 和 `commons-pool-1.5.6.jar`,在Java应用中起到了重要的角色,特别是对于那些需要高效管理数据库连接的大型系统。 Apache Commons DBCP是Apache Commons项目的一部分,它...
3. **Apache Commons Collections4** - `commons-collections4-4.1.jar` 这是Commons Collections的一个新版本,对原有的API进行了优化和改进。主要改进包括: - 与Java 5及更高版本的兼容性:使用泛型、枚举和可...
这里提到的三个JAR文件——`commons-beanutils.jar`、`commons-collections-3.1.jar`和`commons-pool-1.2.jar`,都是Apache Commons项目的一部分,分别涉及Bean操作、集合操作和对象池化。 **1. `commons-beanutils...
本教程将深入讲解如何利用Apache Commons Net库的3.3版本在Android应用中实现FTP功能。 首先,Apache Commons Net是一个Java库,提供了一系列用于网络通信的类和实用工具,包括FTP客户端组件。在Android项目中,...
Apache Commons Pool是一个对象池设计模式的实现,它提供了一种在应用程序中高效管理和重用对象的方式。对象池的基本思想是预先创建一定数量的对象,当需要使用时,不再创建新的对象,而是从池中获取已经存在的对象...
标题中的"commons-net-1.4.1"和"jakarta-oro-2.0.8"指的是两个开源Java库,分别由Apache Commons项目和Jakarta项目开发。这两个库在Java编程中扮演着重要的角色,提供了不同的功能和服务。 Apache Commons Net是...