`
836811384
  • 浏览: 547866 次
文章分类
社区版块
存档分类
最新评论

java实现把文件上传至ftp服务器

 
阅读更多


用java实现ftp文件上传。我使用的是commons-net-1.4.1.zip。其中包含了众多的java网络编程的工具包。

1 把commons-net-1.4.1.jar包加载到项目工程中去。

2 看如下代码:

  1. importjava.io.File;
  2. importjava.io.FileInputStream;
  3. importjava.io.IOException;
  4. importjava.io.InputStream;
  5. importorg.apache.commons.net.ftp.FTPClient;
  6. importorg.apache.commons.net.ftp.FTPReply;
  7. publicclassFileTool{
  8. /**
  9. *Description:向FTP服务器上传文件
  10. *@Version1.0
  11. *@paramurlFTP服务器hostname
  12. *@paramportFTP服务器端口
  13. *@paramusernameFTP登录账号
  14. *@parampasswordFTP登录密码
  15. *@parampathFTP服务器保存目录
  16. *@paramfilename上传到FTP服务器上的文件名
  17. *@paraminput输入流
  18. *@return成功返回true,否则返回false*
  19. */
  20. publicstaticbooleanuploadFile(Stringurl,//FTP服务器hostname
  21. intport,//FTP服务器端口
  22. Stringusername,//FTP登录账号
  23. Stringpassword,//FTP登录密码
  24. Stringpath,//FTP服务器保存目录
  25. Stringfilename,//上传到FTP服务器上的文件名
  26. InputStreaminput//输入流
  27. ){
  28. booleansuccess=false;
  29. FTPClientftp=newFTPClient();
  30. ftp.setControlEncoding("GBK");
  31. try{
  32. intreply;
  33. ftp.connect(url,port);//连接FTP服务器
  34. //如果采用默认端口,可以使用ftp.connect(url)的方式直接连接FTP服务器
  35. ftp.login(username,password);//登录
  36. reply=ftp.getReplyCode();
  37. if(!FTPReply.isPositiveCompletion(reply)){
  38. ftp.disconnect();
  39. returnsuccess;
  40. }
  41. ftp.setFileType(FTPClient.BINARY_FILE_TYPE);
  42. ftp.makeDirectory(path);
  43. ftp.changeWorkingDirectory(path);
  44. ftp.storeFile(filename,input);
  45. input.close();
  46. ftp.logout();
  47. success=true;
  48. }catch(IOExceptione){
  49. e.printStackTrace();
  50. }finally{
  51. if(ftp.isConnected()){
  52. try{
  53. ftp.disconnect();
  54. }catch(IOExceptionioe){
  55. }
  56. }
  57. }
  58. returnsuccess;
  59. }
  60. /**
  61. *将本地文件上传到FTP服务器上*
  62. */
  63. publicstaticvoidupLoadFromProduction(Stringurl,//FTP服务器hostname
  64. intport,//FTP服务器端口
  65. Stringusername,//FTP登录账号
  66. Stringpassword,//FTP登录密码
  67. Stringpath,//FTP服务器保存目录
  68. Stringfilename,//上传到FTP服务器上的文件名
  69. Stringorginfilename//输入流文件名
  70. ){
  71. try{
  72. FileInputStreamin=newFileInputStream(newFile(orginfilename));
  73. booleanflag=uploadFile(url,port,username,password,path,filename,in);
  74. System.out.println(flag);
  75. }catch(Exceptione){
  76. e.printStackTrace();
  77. }
  78. }
  79. //测试
  80. publicstaticvoidmain(String[]args){
  81. upLoadFromProduction("192.168.13.32",21,"hanshibo","han","韩士波测试","hanshibo.doc","E:/temp/H2数据库使用.doc");
  82. }
  83. }
3 直接运行。即可把指定的文件上传到ftp服务器.有需要jar包的可以到我的资源中去下载。

结束!


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics