Android中大多数情况都是通过http请求后台数据,这种方式会有很多网络请求框架,现在有个需求是通过请求FTP服务器下载文件,那些经常用到的网络框架都用不了了,接下来我就来实现Android访问FTP服务并下载文件的功能实现。
1:需要用到访问FTP服务的jar包 commons-net-3.3 jar可以到我的网盘下载,下载路径链接:https://pan.baidu.com/s/1leAcU3lGfFvFcingg6x7Ng&shfl=sharepset 提取码:hkzv
2:因为是网络请求首先需要new一个子线程来处理这些业务,直接看代码,这是activity页面处理的代码
Handler handler = new Handler() {//用来接收下载的结果
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what) {
case 1://异常
String error = (String) msg.obj;
downloadTv.setText("出现异常-->"+error);
break;
case 2://成功
String result = (String) msg.obj;
downloadTv.setText(result);
break;
}
}
};
/**
* ftp下载文件方法
*/
private void FtpDown(){
// 开启一个子线程,进行网络操作,等待有返回结果,使用handler通知UI
new Thread(networkTask).start();
}
/**
* 子线程操作ftp下载
*/
Runnable networkTask = new Runnable() {
@Override
public void run() {
try {
String download = FileUtils.GetFtpPath(FtpActivity.this);//这个是一个下载保存本地文件的路径,可以自定义
downloadTv.setText("下载中...");
//第一个参数是ftp服务器的文件路径,“/”是根目录路径,直接从根目录下载
FTPUtils.downLo