如何从FTP服务器下载文件到Android设备?

时间:2014-07-07 07:59:12

标签: android ftp

我有一个要求将图像从FTP服务器下载到Android设备。我使用 ftp4j-1.7.2.jar 库尝试了少量示例,但无法与FTP服务器连接&搞砸了。

有没有人使用过FTP服务器?

请建议连接&从服务器下载文件。

1 个答案:

答案 0 :(得分:13)

使用库commons.apache.org/proper/commons-net

检查以下代码以从FTP服务器下载文件:

private Boolean downloadAndSaveFile(String server, int portNumber,
    String user, String password, String filename, File localFile)
    throws IOException {
FTPClient ftp = null;

try {
    ftp = new FTPClient();
    ftp.connect(server, portNumber);
    Log.d(LOG_TAG, "Connected. Reply: " + ftp.getReplyString());

    ftp.login(user, password);
    Log.d(LOG_TAG, "Logged in");
    ftp.setFileType(FTP.BINARY_FILE_TYPE);
    Log.d(LOG_TAG, "Downloading");
    ftp.enterLocalPassiveMode();

    OutputStream outputStream = null;
    boolean success = false;
    try {
        outputStream = new BufferedOutputStream(new FileOutputStream(
                localFile));
        success = ftp.retrieveFile(filename, outputStream);
    } finally {
        if (outputStream != null) {
            outputStream.close();
        }
    }

    return success;
} finally {
    if (ftp != null) {
        ftp.logout();
        ftp.disconnect();
    }
}
}