FTP上传核心方法

3 篇文章 0 订阅

核心处理FTP上传的方法

假如FTP不限制上传网速的话,基本能达到10M/s(局域网内)

/** 
     * 上传文件-FTP方式 
     * @param ftp FTPClient对象 
     * @param path FTP服务器上传地址 
     * @param filename 本地文件路径 
     * @param inputStream 输入流 
     * @return boolean 
     */  
    public boolean uploadFile(FTPClient ftp, String path, String fileName, InputStream inputStream) {  
        boolean success = false;  
        try {  
        	if (!ftp.changeWorkingDirectory(path)) {// 如果不能进入dir下,说明此目录不存在!  
        		FtpUtils.makeDirectory(path, ftp);
            }  
        	ftp.changeWorkingDirectory(path);
            
            FTPFile[] fs = ftp.listFiles();//得到目录的相应文件列表  
            fileName = FtpUtils.changeName(fileName, fs);  
            //转到指定上传目录  
            ftp.changeWorkingDirectory(path);  
            //将上传文件存储到指定目录  
            ftp.setFileType(FTP.BINARY_FILE_TYPE);
            ftp.setBufferSize(1024*1024);
            //如果缺省该句 传输txt正常 但图片和其他格式的文件传输出现乱码  
            BufferedInputStream bIs = new BufferedInputStream(inputStream);
            ftp.storeFile(fileName, bIs);  
            //关闭输入流  
            inputStream.close();  
            //退出ftp  
            ftp.logout();  
            //表示上传成功  
            success = true; 
            logger.debug("上传成功。。。。。。");
        } catch (Exception e) { 
        	logger.error("文件上传失败:" + e.getMessage());
            e.printStackTrace();  
        }  
        return success;  
    }  

 注意:以下代码是核心解决上传速度的

 ftp.setBufferSize(1024*1024);
 
 BufferedInputStream bIs = new BufferedInputStream(inputStream);

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值