Android 访问FTP服务器,实现文件的下载,一个简单的Demo,下面是一些简单的代码片。如果对FTP不太了解的话,最好先去简单的了解哈
在测试的过程中,总是与服务器的连接容易断开,要考虑下与服务器保持长连接,多个文件同时下载时js访问ftp服务器的文件,线程问题,注意与服务器的连接、文件的下载需要在子线程中完成,不然会报错,后续还需完善。
首先需要导入jar包:(下载连接),内含API文档。
需要的一些权限:
1.创建 FTPClient对象:
FTPClient client = new FTPClient();
2.连接FTP服务器:
client.connect("host", port);//host:服务器IP地址 port:端口
 //  username: 账号 password: 密码
 client.login("username", "password");  
 // 如果不需要账号、密码的话,默认是username是"anonymous"
 /** 获取所有文件的名称**/
 /*String[] file = client.listNames();
 for (int i = 0; i < file.length; i++) {
  Log.i("file", file[i]);
  }*/
3.下载文件:
//创建文件的存储位置
String dir = Environment.getExternalStorageDirectory()
 + "/Images/";  
File fileDir = new File(dir);
if (!fileDir.exists()) {
fileDir.mkdirs();
}
String path = dir + "fileName.jpg";//下载下来的文件名
final File nfile = new File(path);
if (nfile .exists()) {
nfile .delete();
Log.i("delete", "file deleted");
 }
 // "/Z/fileName.jpg" 服务器文件目录,"nfile " 本地存储位置
 //new MyTransferListener() 下载监听接口FTPDataTransferListener
 client.download("/Z/fileName.jpg",nfile ,new MyTransferListener());
这是示例代码:
public class MyTransferListener implements FTPDataTransferListener {
  public void started() {
// Transfer started
  }
  public void transferred(int length) {
// Yet other length bytes has been transferred since the last time this
// method was called
  }
  public void completed() {
// Transfer completed
  }
  public void aborted() {
// Transfer aborted
  }
  public void failed() {
// Transfer failed
  }
 }
这只是一个简单的连接FTP服务器,下载操作,还有很多需要完善,查看API慢慢完善你的功能js访问ftp服务器的文件,终会实现你想要的
!
发表评论