zoukankan      html  css  js  c++  java
  • FTP上传核心方法

    核心处理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);
  • 相关阅读:
    站内信DB设计实现
    redis.conf配置详细解析
    MySQL中的锁(表锁、行锁)
    App开放接口api安全性—Token签名sign的设计与实现
    Linux下恢复误删除的文件
    系统资源监控工具
    MySQL性能监控工具-MONyog
    jstack Dump 日志文件中的线程状态
    数据库性能测试方案示例
    [转载]ant和maven的区别
  • 原文地址:https://www.cnblogs.com/pigga/p/10098246.html
Copyright © 2011-2022 走看看