实例如下 :
packagecom.itv.launcher.util; Importjava.io.file; importjava.io.fileinputStream; importjava.io.filenotFoundException; importjava.io.ioException; importjava.net.inetsocketadDress; Importjava.util.Properties; Importjava.util.StringTokaSizer; importsun.net.telnetoutputStream; importsun.net.ftp.ftpclient; importsun.net.ftp.ftpproTocolException; /** * ftp 上传工具类 * * @author yanzhou * @Version v1.0 */publicClassftputil {privatestaticftpclient ftpclient = null; privatestaticfinal String URL; privatestatischer Int -Port; privatestaticfinal String -Benutzer; privatestaticfinal String Passwort; privatestaticfinal String remoteFilepath; static {Properties ftppro = Readftpproperties.getMsgfromPro (); url = ftppro.getProperty ("ftp_url"); port = integer.parseInt (ftppro.getProperty ("ftp_port")); user = ftppro.getProperty ("ftp_user"); password = ftppro.getProperty ("ftp_password"); remoteFilepath = ftppro.getProperty ("ftp_remote_filepath"); } / ** * 链接 ftp * @throw ftppRotocolException * / privatestaticVoid Connectftp () ThrowSftppRotocolException {try {ftpclient = ftpclient.create (); ftpclient.connect (NewInetSocketadDress (URL, Port)); ftpclient.login (user, password.toCharArray ()); ftpclient.setBinaryType (); if (! ". }} catch (ioException e) {e.printstacktrace (); }} / ** * 关闭 ftp 链接 * / publicStaticVoid closeftp () {try {if (ftpclient! = Null) {ftpclient.close (); }} catch (ioException e) {e.printstacktrace (); }} / ** * 上传文件到 ftp * @param Datei Datei 文件 , Struts2 从页面得到的 Datei 类型 * @param filepath 要保存在 ftp 上的路径(文件夹) * @param FileName 文件名( test001.jpg) * @return 文件是否上传成功 * @throws Exception * / öffentlich -staticboolean Upload (Datei filepath, string -fileNAde) {schmieren -filepath, string -fileNAd; FileInputStream fi = null; filepath = remoteFilepath + constanten.file_separator + filepath; try {if (Datei! = null) {Connectftp (); if (! isdirexist (filepath.replace ("//", "/")) {createdir (filepath.replace ("//", "/")); ftpclient.changedirectory (filepath.replace ("//", ",/")); } fi = newfileInputStream (Datei); to = (telnetoutputStream) ftpclient.putFilEstream (Dateiname, true); byte [] bytes = 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 (Ausnahme e) {returnFalse; } endlich {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 Dateiname 要删除的文件名称 * @return 是否删除成功 * / publicStaticBoolean DeleteFileftp (String Filepath, String FileName) {try {Connectftp (); filepath = remoteFilepath + constants.file_separator + filepath + constanten.file_separator; if (! isdirexist (filepath.replace ("//", "/"))) {returnFalse; } ftpclient.changedirectory (filepath.replace ("//", "/")); ftpclient.deleteFile (Dateiname); returnTrue; } catch (Ausnahme e) {e.printstacktrace (); returnfalse; } endlich {closeftp (); }} / ** * 检查文件夹是否存在 * * @param dir * @param ftpclient * @return * / privatestaticboolean isdirexist (String dir) {try {ftpclient.changedirectory (Dir); } catch (Ausnahme e) {returnFalse; } returnTrue; } / ** * 创建文件夹 * * @param dir * @param ftpclient * @throws Exception * / privatestaticvoid erstellte (String dir) throwSexception {ftpclient.setasciitype (); StringTokenizer s = NewStringtokenizer (DIR, "/"); // Sign Sign s.CountTokens (); String pathname = ""; while (S.HasmoreElements ()) {pathname = pathname + "/" + (string) s.NextElement (); try {ftpclient.makedirectory (Pathname); } catch (Ausnahme e) {e = null; }} ftpclient.setBinaryType (); }}2. 常量类 , 系统的路径分隔符
packagecom.itv.launcher.util; publicInterfaceConstants {// 路径分隔符 publicStaticString File_separator = System.getProperty ("Datei.separator");};};3. FTP 链接的配置 Eigenschaften 文件 , 包括用户名密码一些信息
#Ftp 的 ip 地址 ftp_url = 127.0.0.1#ftp 端口号 ftp_port = 1234#用户名 ftp_user = yanzhou#密码 ftp_password = abcdefg12345#ftp 账号目录 ftp_remote_filepath =
以上这篇 Jdk1.7 以上 Javaftp 上传删除文件的实现方法就是小编分享给大家的全部内容了 , 希望能给大家一个参考 , 也希望大家多多支持武林网。 也希望大家多多支持武林网。