净坛腐儒 2016-07-06 03:56 采纳率: 43.8%
浏览 1746
已结题

android ftp文件上传进度监听

用的库是 commons-net-3.0.1.jar,现在想获取已上传文件大小以更新进度条,请问各位前辈有没有什么办法?如果方便的话能否简单给几行代码,谢谢!

        public String ftpUpload(String url, String port, String username,String password, String remotePath, String fileNamePath,String fileName) {

        FTPClient ftpClient = new FTPClient();  

        FileInputStream fis = null;  

        String returnMessage = "0";  

        try {  

            ftpClient.connect(url, Integer.parseInt(port));  

            boolean loginResult = ftpClient.login(username, password);  

            int returnCode = ftpClient.getReplyCode();  

            if (loginResult && FTPReply.isPositiveCompletion(returnCode)) {// 如果登录成功  

                ftpClient.makeDirectory(remotePath);  

                 // 设置上传目录  

                ftpClient.changeWorkingDirectory(remotePath);  

                ftpClient.setBufferSize(1024);  

                ftpClient.setControlEncoding("UTF-8");  

                ftpClient.enterLocalPassiveMode();  

                fis = new FileInputStream(fileNamePath + fileName);  

                ftpClient.storeFile(fileName, fis);  

                returnMessage = "1";   //上传成功        

            } else {// 如果登录失败  
                returnMessage = "0";  

            }  

        } catch (IOException e) {  

            e.printStackTrace();  

            throw new RuntimeException("FTP客户端出错!", e);  

        } finally {


         //IOUtils.closeQuietly(fis);  

         try {

             ftpClient.disconnect();  

         } catch (IOException e) {

             e.printStackTrace();  

             throw new RuntimeException("关闭FTP连接发生异常!", e);  
         }  
        }  

     return returnMessage;  

        }  
    }

  • 写回答

1条回答 默认 最新

  • yu954663801 2016-07-06 04:10
    关注

    上传文件以及封装好了,除非你使用原始字节流的方式上传,才能获取上传进度。
    或者弄个假进度条,哈哈

    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog