研究了半天,学习了sun.net.ftp包中的FtpClient类,用来实现Ftp功能。

首先搭好Ftp的测试环境

添加windows组件,安装IIS中的FTP服务。

在运行中输入inetmgr,对默认ftp站点点右键->属性进行配置,

配置好了之后在运行中输入ftp进行链接测试

现在ftp的测试环境已经搭建成功,接下来用java编程实现ftp的访问

简单介绍一下sun.net.ftp中的FtpClient类

该类中有:

openServer方法:用于链接ftp,类似于在ftp(dos格式下)中输入open命令。

login方法:用于输入用户及密码,类似于在ftp(dos格式下)中输入user命令。

sendServer方法:用于向ftp服务器发送各种指令。

readServerResponse方法:与sendServer方法合用,用于使服务器返回消息。

getResponseString方法:获取服务器返回的消息。

closeServer方法:中断服务器链接,类似于在ftp(dos格式下)中输入quit命令。

下面是demo程序的效果

下面是程序源代码:

/*------------------display ftp demo class begin----------------*/

package com.android.Yao;

import java.applet.Applet;

import java.awt.*;

public class displayftpdemo extends Applet {

TextField tf = new TextField("",45);

Button button = new Button("Send");

Button button1 = new Button("Exit");

TextArea ta = new TextArea("",10,50);

ftpdemo b=new ftpdemo();

public void init()

{

add(ta);

add(tf);

add(button);

add(button1);

try

{

b.connectServer(b.gethostname(), b.getport(), b.getusername(),b.getuserpwd());

ta.append(b.ftpClient.getResponseString());

} catch (Exception e) {

e.printStackTrace();

}

}

public boolean action(Event e,Object o)

{

if(e.target instanceof Button)

{

if(e.target == button)

{

try

{

ta.append(b.SendServer(b,tf.getText()+"\r\n"));

}

catch (Exception ex)

{

ex.printStackTrace();

}

}

else if (e.target == button1)

{

try

{

b.closeServer();

ta.append(b.ftpClient.getResponseString());

}

catch (Exception ex)

{

ex.printStackTrace();

}

}

}

return true;

}

}

/*------------------display ftp demo class end----------------*/

/*------------------ftpclient class begin ----------------*/

package com.android.Yao;

import sun.net.ftp.*;

public class ftpdemo {

String hostname = "192.168.0.195";

int portnum = 21;

String username = "anonymous";

String userpwd = "111";

FtpClient ftpClient = new FtpClient();

public String gethostname()

{

return hostname;

}

public int getport()

{

return portnum;

}

public String getusername()

{

return username;

}

public String getuserpwd()

{

return userpwd;

}

public boolean connectServer(String ip, int port, String user, String pwd)

throws Exception

{

boolean isSuccess = false;

try

{

ftpClient.openServer(ip, port);

ftpClient.login(user, pwd);

isSuccess = true;

}

catch (Exception ex)

{

throw new Exception("Connect ftp server error:" + ex.getMessage());

}

return isSuccess;

}

public boolean closeServer()

throws Exception

{

boolean isSuccess = false;

try

{

ftpClient.closeServer();

isSuccess = true;

}

catch(Exception ex)

{

throw new Exception("DisConnect ftp server error:"+ex.getMessage());

}

return isSuccess;

}

public String getFileList()

throws Exception

{

String FileName="no filelist";

this.connectServer(hostname, portnum, username, userpwd);

try

{

}

catch(Exception ex)

{

throw new Exception("Get FileList error:"+ex.getMessage());

}

this.closeServer();

return FileName;

}

public String SendServer(ftpdemo a,String cmd)

throws Exception

{

String result="error\n";

try

{

a.ftpClient.sendServer(cmd);

a.ftpClient.readServerResponse();

result = ftpClient.getResponseString();

}

catch(Exception ex)

{

throw new Exception("Get FileList error:"+ex.getMessage());

}

return result;

}

}

/*------------------ftpclient class end ----------------*/

今天一天的学习结束,明天研究研究各个ftp的指令,以及如何将其整合到Android手机中!

java ftpclient quit_一步一步android(6):关于FtpClient类的学习相关推荐

  1. Android华容道之一步一步实现-序言

    女儿看了最强大脑的数字华容道节目之后,就缠着要玩数字华容道,买了实物版,玩了几天,感觉好像还没有过瘾,就让我做个手机版的数字华容道游戏. 说明一下,最终要实现的版本并不是最强大脑那种数字版的华容道,而 ...

  2. Android一步一步实现一款实用的Android广告栏

    源码:BannerLayoutDemo 有图有真相: bannerLayoutDemo 开源界有一句很有名的话叫"不要重复发明轮子",当然,我今天的观点不是要反驳这句话,轮子理论给 ...

  3. 一步一步教你如何在AndroidStudio查看Android源码(AOSP源码)

    一步一步教你如何在AndroidStudio查看Android源码(AOSP源码) idegen工具 要将Android系统源代码工程导入到Eclipse或者IntelliJ IDEA,关键是要有相应 ...

  4. Android一步一步剖析+实现仿支付宝手势密码自定义View

    最近项目需求:要求在项目中添加手势密码和指纹验证,恰巧最近在苦练自定义View,于是参考了网上轮子和自己的理解,实现了如下的效果. 国际惯例:Without pic you say a JB(奖杯). ...

  5. 一步一步教你在 Android 里创建自己的账号系统(一)

    大家假设喜欢我的博客,请关注一下我的微博,请点击这里(http://weibo.com/kifile),谢谢 转载请标明出处(http://blog.csdn.net/kifile),再次感谢 大家在 ...

  6. Java初学者如何迈出AOP第一步--使用Java 动态代理实现AOP

    Java初学者如何迈出AOP第一步--使用Java 动态代理实现AOP xBird 原创  (参与分:36,专家分:90)   发表:2004-9-3 上午9:37   版本:1.0   阅读:160 ...

  7. Android华容道之一步一步实现-4-图像块移动算法

    下一个关键点就是图像块的移动,以如图为例. 假设空格处于第二行第三格,那么此时只有触摸第二行以及第三列的图像块的时候才需要移动图像块,因为别的图像块不能移动. 当触摸发生在合法的图像块的时候,即上面图 ...

  8. Android华容道之一步一步实现-3 -手指触摸处理

    华容道关键点之一出现了,就是处理触摸,包括手指按下,抬起,移动等. 自己实现一个处理触摸的类,然后处理 onTouchEvent(MotionEvent event) 事件,在这里处理手指按下,抬起, ...

  9. Android华容道之一步一步实现-2-图片分割

    因为华容道是16个格子,所以要把一张大一点的图片分割成16个相等的小图片. 可以使用Bitmap.createBitmap方法来进行. 直接上代码 ori_bitmap = BitmapFactory ...

  10. Java程序员从笨鸟到菜鸟之(一百零八)一步一步学习webservice(二)webservice基本原理

    本来这第二篇打算讲解"开发第一个基于XFire的webservice"的内容来着.但是想想.开发实例只是局限于了会用的层面上.如果想真正的理解webservice还是需要挖掘其原理 ...

最新文章

  1. jquery Selector 源码分析
  2. Ubuntu MySQL 重新安装
  3. TCP/IP卷一实验之------EIGRP
  4. flume正则拦截器
  5. nginx 学习记录:IP+端口号配置网站、隐藏端口号、自签名证书配置Https、强制Https、自定义404
  6. java 代码走查_Java代码走查具体考察点
  7. php拖动滑块验证原理,原生js实现拖动滑块验证
  8. 使用mono构建c#脚本运行环境
  9. mathematica中快捷键
  10. 第7节 简单抓包实验及验证帧结构——基于“科来”软件
  11. linux运行uclinux程序,uClinux的编译与运行详解
  12. win7左上角白杠一直闪_win10换win7
  13. 基于matlab的BCH编译码算法原理介绍与仿真分析
  14. Ubuntu 配置WebDav服务器
  15. Android Studio中如何添加Vector Asset
  16. 非常棒的数据结构与算法视频
  17. UTF-8与UTF-8(BOM)区别和一些说明
  18. 大学校园IP网络广播-厂家基于局域网的大学校园IP广播设计指南
  19. ES学习笔记(二):集群配置与启动 --mac环境
  20. MySQL5.5版本安装操作

热门文章

  1. 枚举学习文摘 — 框架设计(第2版) CLR Via C#
  2. 9.Linux/Unix 系统编程手册(上) -- 进程凭证
  3. 4. Nginx 与 PHP
  4. 49. 模型层 --- dao 层
  5. 20. Magento 创建新闻模块(1)
  6. ServletContextListener 和HttpSessionListener 的自我理解
  7. 自己编写的中文字符串的截取函数
  8. Java线程池关闭1-shutdown和isTerminated
  9. form表单上传文件
  10. 2017行进中的杂想,做一个极少数的历史