实例如下:
packagecom.itv.launcher.util; importjava.io.file; importJava.io.fileInputStream; importjava.io.io.filenotfoundexpection; importjava.io.io.io.io.io.io.io.io.io.io.ioception; importjava.net.inetsocketAcketAddress; importjava; importjava; importjava.util.util.properties; eimportjava.util.util.stringtokenterizerizer; importsun.net.telnetoutputstream; importSun.net.ftp.ftpclient; importSun.net.ftp.ftp.ftprotocolexception; /** * ftp上传工具类 * * @author yanzhou * @version v1.0 */publisClassFtputil {privatestaticftpclient ftpClient = null; privatestaticfinal字符串URL;私有限制int端口;私有字符串用户; PrivateStaticFinal字符串密码; privatestaticfinal字符串远程filepath; static {properties ftppro = readftpproperties.getMsgFrompro(); url = ftppro.getProperty(“ ftp_url”); port = integer.parseint(ftppro.getProperty(“ ftp_port”)); user = ftppro.getProperty(“ ftp_user”);密码= ftppro.getProperty(“ ftp_password”); remoteFilePath = ftppro.getProperty(“ ftp_remote_filepath”); } / ** *链接ftp * @throws ftpprotocolexception * / privateStaticVoid connectftp()throwsftpprotocolexception {try {ftpclient = ftpClient = ftpClient.create.create(); ftpClient.connect(newInetSocketAddress(url,port)); ftpclient.login(用户,password.tochararray()); ftpClient.setBinaryType();如果(!”。 }} catch(ioexception e){e.printstacktrace(); }} / ** *关闭ftp链接 * / publicStaticVoid Closeftp(){try {if(ftpClient!= null){ftpClient.Close(); }} catch(ioexception e){e.printstacktrace(); }} / ** * ftp * @param文件文件文件,struts2 file类型 * @param filepath ftp 上的路径(文件夹(ftp 上的路径(文件夹) FileInputStream fi = null; filepath = remoteFilePath +常数.file_separator + filepath;尝试{if(file!= null){connectftp(); if(!isdirexist(filepath.replace(“ //”,“/”))){createir(filepath.replace(“ //”,“,”/“”)); ftpClient.changeDirectory(filepath.replace(“ //”,“/”)); } fi = newfileInputStream(file); to =(telnetutputstream)ftpclient.putfilestream(文件名,true);字节[]字节= newbyte [1024]; inti = fi.read(bytes); while(i!= -1){to.write(bytes); i = fi.read(bytes); }} returnTrue; } catch(filenotfoundException e1){returnfalse; } catch(ioexception e2){returnfalse; } catch(异常e){returnfalse; }最后{if(fi!= null){try {fi.close(); } catch(ioexception e){e.printstacktrace(); }} if(to!= null){try {to.flush(); to.close(); } catch(ioexception e){e.printstacktrace(); }} closeftp(); }} / ** *删除ftp制定目录下的文件 * @param filepath ftp存储的路径 * @param fileName要删除的文件名称 * @return @return是否删除成功 * / publicStaticBoolean deletefileftp(字符串filepath,string file ename) filepath = remoteFilePath +常数.file_separator + filepath + constants.file_separator; if(!isdirexist(filepath.replace(“ //”,“/”))){returnfalse; } ftpClient.ChangeDirectory(filepath.replace(“ //”,“/”)); ftpclient.deletefile(文件名);返回; } catch(异常E){e.printstacktrace(); returnfalse; }最后{CloseFtp(); }} / ** * * * * * @param dir * @param ftpclient * @return * / privatestaticboolean isdirexist(string dir){try {ftpclient.changeDirectory(dir); } catch(异常e){returnfalse; } returntrue; } / ** * * * * * @param dir * @param ftpclient * @throws exception * / privatestaticVoid createir(String dir)throwsexception {ftpclient.setAsciitype(); StringTokenizer s = newsTringTokenizer(dir,“/”); // s.counttokens();字符串pathName =“”; while(s.hasmoreelement()){pathName = pathName +“/” +(string)s.nextelement();尝试{ftpClient.makedirectory(pathName); } catch(异常E){e = null; }} ftpClient.setBinaryType(); }}}2。常量类,系统的路径分隔符
packagecom.itv.launcher.util; publicInterfaceConstants {//路径分隔符publicstaticstring file_separator = system.getProperty(“ file.separator”);}3。ftp链接的配置属性文件,包括用户名密码一些信息
#FTP的IP ftp_url = 127.0.0.1#ftp端口号ftp_port = 1234#ftp_user = yanzhou#yanzhou#ftp_password = abcdefg12345#ftp ftp ftp ftp_ftp_remote_filepath =
以上这篇jdk1.7以上javaftP上传删除文件的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持武林网。,也希望大家多多支持武林网。