Calculate Speed and Bytes Transfer Rate in FTP download Android

628 Views Asked by At

I am planning to create an application for downloading a file from FTP server, Below code has working fine with the functionality, But I need to show current speed and transfer rate while downloading a file, Please help me to solve this problem,

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;
    }

If i would like to download a more than 5Mb or 50 Mb file this requirement will be useful for the user to know about the current speed of the device , Please help me to finish this issues.

Regards Priya

0

There are 0 best solutions below