Java上传文件FTP服务器代码实例
FTP服务器(FileTransferProtocolServer)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。FTP是FileTransferProtocol(文件传输协议)。顾名思义,就是专门用来传输文件的协议。简单地说,支持FTP协议的服务器就是FTP服务器。
在实际的应用中,通常是通过程序来进行文件的上传。
1.实现java上传文件到ftp服务器中
2.新建maven项目
添加依赖
commons-net commons-net 3.3
3.实例代码:
packagecom.test.fto.demo; /** ftp链接常量 */ publicclassFtp{ privateStringipAddr; //ip地址 privateIntegerport; //端口号 privateStringuserName; //用户名 privateStringpwd; //密码 privateStringpath; //aaa路径 publicStringgetIpAddr(){ returnipAddr; } publicvoidsetIpAddr(StringipAddr){ this.ipAddr=ipAddr; } publicIntegergetPort(){ returnport; } publicvoidsetPort(Integerport){ this.port=port; } publicStringgetUserName(){ returnuserName; } publicvoidsetUserName(StringuserName){ this.userName=userName; } publicStringgetPwd(){ returnpwd; } publicvoidsetPwd(Stringpwd){ this.pwd=pwd; } publicStringgetPath(){ returnpath; } publicvoidsetPath(Stringpath){ this.path=path; } }
测试代码:
packagecom.test.fto.demo; importorg.apache.commons.net.ftp.FTPClient; importorg.apache.commons.net.ftp.FTPReply; importorg.testng.annotations.Test; importjava.io.File; importjava.io.FileInputStream; importjava.io.IOException; publicclassFtpUtil{ privatestaticFTPClientftp; /** *获取ftp连接 * *@paramf *@return *@throwsException */ publicstaticbooleanconnectFtp(Ftpf)throwsException{ ftp=newFTPClient(); booleanflag=false; intreply; if(f.getPort()==null){ ftp.connect(f.getIpAddr(),21); }else{ ftp.connect(f.getIpAddr(),f.getPort()); } ftp.login(f.getUserName(),f.getPwd()); ftp.setFileType(FTPClient.BINARY_FILE_TYPE); reply=ftp.getReplyCode(); if(!FTPReply.isPositiveCompletion(reply)){ ftp.disconnect(); returnflag; } ftp.changeWorkingDirectory(f.getPath()); flag=true; returnflag; } /** *关闭ftp连接 */ publicstaticvoidcloseFtp(){ if(ftp!=null&&ftp.isConnected()){ try{ ftp.logout(); ftp.disconnect(); }catch(IOExceptione){ e.printStackTrace(); } } } /** *ftp上传文件 * *@paramf *@throwsException */ publicstaticvoidupload(Filef)throwsException{ if(f.isDirectory()){ ftp.makeDirectory(f.getName()); ftp.changeWorkingDirectory(f.getName()); String[]files=f.list(); for(Stringfstr:files){ Filefile1=newFile(f.getPath()+"/"+fstr); if(file1.isDirectory()){ upload(file1); ftp.changeToParentDirectory(); }else{ Filefile2=newFile(f.getPath()+"/"+fstr); FileInputStreaminput=newFileInputStream(file2); ftp.storeFile(file2.getName(),input); input.close(); } } }else{ Filefile2=newFile(f.getPath()); FileInputStreaminput=newFileInputStream(file2); ftp.storeFile(file2.getName(),input); input.close(); } } @Test publicstaticvoidtest()throwsException{ Ftpf=newFtp(); f.setIpAddr("yourip"); f.setUserName("username"); f.setPwd("password"); FtpUtil.connectFtp(f); Filefile=newFile("F:/robotium-solo-5.6.1.jar"); FtpUtil.upload(file);//把文件上传在ftp上 System.out.println("上传文件完成。。。。"); } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。