在FTP下载Android中计算速度和字节传输速率

时间:2015-06-05 05:42:57

标签: android ftp downloading

我打算创建一个从FTP服务器下载文件的应用程序,下面的代码工作正常,但我需要在下载文件时显示当前速度和传输速率,请帮我解决这个问题,

private boolean downloadSingleFile(String remoteFilePath, File downloadFile) {


        boolean status = false;
        try {
            con = new FTPClient();

            con.setConnectTimeout(5000);

            con.connect(host);

            if (con.login(username, password)) {
                con.enterLocalPassiveMode(); // important!
                con.setFileType(FTP.BINARY_FILE_TYPE);

                File parentDir = downloadFile.getParentFile();
                if (!parentDir.exists())
                    parentDir.mkdir();
                OutputStream outputStream = null;
                try {
                    outputStream = new BufferedOutputStream(
                            new FileOutputStream(downloadFile));
                    con.setFileType(FTP.BINARY_FILE_TYPE);



                    status = con.retrieveFile(remoteFilePath, outputStream);
                } catch (Exception ex) {
                    Log.e(TAG, ex.getMessage());

                } finally {
                    if (outputStream != null) {
                        try {
                            outputStream.close();
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                    }
                    con.logout();
                    con.disconnect();

                }
            } else {
                con.logout();
                con.disconnect();

                // delayWait(duration);


            }

        }

        catch (UnknownHostException e) {
            Log.e(TAG, e.getMessage());


        } catch (Exception e) {


        }
        return status;
    }

如果我想下载超过5Mb或50 Mb的文件,此要求对于用户了解设备的当前速度非常有用,请帮助我完成此问题。

此致 普里亚

0 个答案:

没有答案