如何从FTP服务器上下载一个目录中的Andr​​oid [英] how to download a directory from FTP server in android

查看:122
本文介绍了如何从FTP服务器上下载一个目录中的Andr​​oid的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我成功地通过给URL.But我无法下载,其中包含30个文件夹下载从FTP服务器上单个文件到我的SD卡(JPG格式,FLV的,等等,可能是有文件夹内的另一个文件夹)从FTP server.so请帮我约code,如何从FTP服务器上的整个文件夹下载到SD卡。在此先感谢!

这里是code。对于单文件下载

 公共布尔downloadFTP(字符串srcFilePath,字符串desFilePath){
    布尔状态= FALSE;
    FTPClient客户端=新FTPClient();
    尝试{
        字符串IPADDR =XX.XX.XX.XX;
        字符串的uname =XXXXXX;
        字符串传递=XXXXXX;        client.connect(IPADDR,21);
        client.enterLocalPassiveMode();
        布尔登录= client.login(UNAME,通过);
        如果(登录){
            Log.e(downloadFTP登录,成功);
            FileOutputStream中desFileStream =新的FileOutputStream(
                    desFilePath);
            Log.e(downloadFTP登录,FileOutputStream中);
            状态= client.retrieveFile(srcFilePath,desFileStream);
            Log.e(downloadFTP状态:,+状态);
            desFileStream.close();
        }
    }赶上(例外五){
        Log.e(ERROR downloadFTP:,e.getMessage());
    } {最后
        尝试{
            client.disconnect();
        }赶上(IOException异常五){
            e.printStackTrace();
        }
    }    返回状态;
}


解决方案

看来你已经列出文件并管理下载队列BU自己。

I successfully downloaded single file from FTP server to my SD card by giving URL.But i'm unable to download a folder which contains 30 files(.jpg,.flv,etc., may be have another folder inside folder) from FTP server.so please help me some code, how to download an entire folder from FTP server to SD card. Thanks in advance!!

HERE IS THE CODE FOR SINGLE FILE DOWNLOAD:

public boolean downloadFTP(String srcFilePath, String desFilePath) {
    boolean status = false;
    FTPClient client = new FTPClient();
    try {
        String ipaddr = "XX.XX.XX.XX";
        String uname = "XXXXXX";
        String pass = "XXXXXX";

        client.connect(ipaddr, 21);
        client.enterLocalPassiveMode();
        boolean login = client.login(uname, pass);
        if (login) {
            Log.e("downloadFTP login : ", "Success");
            FileOutputStream desFileStream = new FileOutputStream(
                    desFilePath);
            Log.e("downloadFTP login : ", "FileOutputStream");
            status = client.retrieveFile(srcFilePath, desFileStream);
            Log.e("downloadFTP status : ", "" + status);
            desFileStream.close();
        }
    } catch (Exception e) {
        Log.e("ERROR downloadFTP : ", e.getMessage());
    } finally {
        try {
            client.disconnect();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    return status;
}

解决方案

It seems you have to list the files and manage the download queue bu yourself.

这篇关于如何从FTP服务器上下载一个目录中的Andr​​oid的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆