FTP上传工具2
来源:互联网 发布:手机淘宝联盟购买省钱 编辑:程序博客网 时间:2024/05/17 06:36
现象:今天在用org.apache.commons.net.ftp.FTPClient的storeFile方法时,发现上传小文件如几KB的情况下,文件是无损传输,但是当上传的文件是55M以及100多兆的时候,FTP上的服务器文件的大小就会增加。
解决方法:在连接FTP服务器的时候,加上一段这个代码ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
示例:
连接FTP服务器代码:
public static FTPClient getFtpClient(String serverIP,String userName,String password,int port) throws SocketException, IOException{ int reply; FTPClient ftpClient = new FTPClient(); ftpClient.connect(serverIP, port); reply = ftpClient.getReplyCode(); if(!FTPReply.isPositiveCompletion(reply)){ ftpClient.disconnect(); System.out.println("登陆FTP失败"); return null; } ftpClient.login(userName, password); ftpClient.setDataTimeout(2000); ftpClient.enterLocalPassiveMode(); ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE); return ftpClient; }
上传文件方法的代码:
/** * 上传文件到文件服务器中 * @param file 需上传的文件 * @param ftpClient * @param workDirectory FTP服务器的相对目录 * @return * @throws IOException */ public static String uploadFileToBBK(File file,FTPClient ftpClient,String workDirectory) throws IOException{ ftpClient.setControlEncoding("UTF-8"); ftpClient.makeDirectory(workDirectory); ftpClient.changeWorkingDirectory(workDirectory); BufferedInputStream fiStream =new BufferedInputStream(new FileInputStream(file)); boolean flag = ftpClient.storeFile(new String((file.getName()).getBytes("UTF-8"),"iso-8859-1"),fiStream); fiStream.close(); if(flag){ return "OK"; }else{ return ""; } }
断开服务器连接方法的代码:
public static void closeFtp(FTPClient ftpClient){ if(ftpClient!=null && ftpClient.isConnected()){ try { boolean isLogOut = ftpClient.logout(); if(isLogOut){ System.out.println("成功关闭ftp连接"); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); System.out.println("关闭FTP服务器异常"); }finally{ try { ftpClient.disconnect(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); System.out.println("关闭服务器连接异常"); } } } }
- FTP上传工具2
- FTP上传工具开发
- FTP工具上传出错
- FTP上传工具类
- ftp上传工具类
- ftp上传工具类
- ftp上传工具类
- ftp上传文件工具类
- 通过ftp上传图片 工具类
- Java FTP上传文件工具类
- ftp上传工具类(java)
- ftp上传文件下载文件工具类
- FTP连接图片上传工具类
- ftp与sftp文件上传工具类
- ftp上传文件2
- 关于网页上传到自己的FTP工具~
- 使用libcurl库,开发简单的ftp上传工具
- Unity3d 工具打包完 自动上传到FTP服务器
- 由SQL Server的job出错调查引起的思考
- java jxl 读取excel文件
- Java中InetAddress 的dns cache应用问题
- linux sudo xxx is not in the sudoers file错误
- 百度不为人知的API
- FTP上传工具2
- cgroup学习(五)——create new cgroup && (六)——attach task
- 一个工作两年程序员的总结(很好)
- 粗略判断字符串是否为ethernet MAC address
- Android之PreferenceActivity
- 胆电容封装
- C++ Google Test 学习心得总结-1
- Android 源码下载, 编译及一些错误处理
- jQuery选择器总结