Android访问FTP服务器,实现文件下载,一个简单的Demo

  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服务器的文件,终会实现你想要的

文章由官网发布,如若转载,请注明出处:https://www.veimoz.com/1403
0 评论
511

发表评论

!