:
packagecom.itv.launcher.util; importjava.io.file; importjava.io.fileInputStream; importjava.io.filenotfoundException; importjava.io.ioexception; importjava.net.inetsocketAddress; importjava.util.properties; importjava.util.stringtokenizer; importtsun.net.telnetOutputStream; importtsun.net.ftp.ftpclient; importtsun.net.ftp.ftProtoCoLexception; / ** * ftp 上传工具类 * * @author yanzhou * @version v1.0 * / publicClassftpUtil {privatestaticftpclient ftpclient = null; URL de chaîne privateStaticFinal; PRORT PRIVATESTATIQUE INT INT; Utilisateur de chaîne PrivateStaticFinal; PrivateStaticFinal String Mot de passe; PrivateStaticFinal String RemoteFilePath; statique {Properties ftppro = readftPProperties.getmsgfropro (); url = ftppro.getProperty ("ftp_url"); port = Integer.ParseInt (ftppro.getProperty ("ftp_port")); user = ftppro.getProperty ("ftp_user"); mot de passe = ftppro.getProperty ("ftp_password"); RemoteFilePath = ftppro.getProperty ("ftp_remote_filepath"); } / ** * 链接 ftp * @throws ftpprotocolexception * / privateStaticVoid connectFtp () throwsftProtoCoLexception {try {ftpclient = ftpclient.create (); ftpClient.connect (NewInetsocketAddress (URL, port)); ftpClient.login (utilisateur, mot de passe.tocharay ()); ftpClient.setBinaryType (); if (! "". Equals (RemoteFilePath) && RemoteFilePath! = null) {ftpClient.ChangeDirectory (RemoteFilePath); }} catch (ioException e) {e.printStackTrace (); }} / ** * 关闭 ftp 链接 * / publicStaticVoid closeftp () {try {if (ftpClient! = Null) {ftpclient.close (); }} catch (ioException e) {e.printStackTrace (); }} / ** * 上传文件到 FTP * @param fichier de fichier 文件 , Struts2 从页面得到的 fichier 类型 * @param filepath 要保存在 ftp 上的路径 (文件夹)) * @param nom de fichier 文件名 (test001.jpg) * @return 文件是否上传成功 * @throws exception * / publicStaticBoolean upputpoy nul; FileInputStream fi = null; FilePath = RemoteFilePath + Constants.File_Separator + FilePath; essayez {if (file! = null) {connectftp (); if (! isdirexist (filepath.replace ("//", "/"))) {crééir (filepath.replace ("//", "/")); ftpclient.changeDirectory (filepath.replace ("//", "/")); } fi = newFileInputStream (fichier); to = (telnetOutputStream) ftpClient.putFileStream (nom de fichier, true); octet [] octets = NewByte [1024]; inti = fi.read (octets); while (i! = -1) {to.write (octets); i = fi.read (octets); }} returntrue; } catch (filenotfoundException e1) {returnfalse; } catch (ioException e2) {returnfalse; } catch (exception e) {returnfalse; } enfin {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 是否删除成功 * / publicStaticBoolean DeleteFileftp (String filepath, string filename) {try {connectftp (); filepath = RemoteFilePath + constants.file_separator + filepath + constants.file_separator; if (! isdirexist (filepath.replace ("//", "/"))) {returnfalse; } ftpclient.changeDirectory (filepath.replace ("//", "/")); ftpClient.DeleteFile (nom de fichier); RetourTrue; } catch (exception e) {e.printStackTrace (); returnFalse; } enfin {closeftp (); }} / ** * 检查文件夹是否存在 * * @param dir * @param ftpclient * @return * / privateStaticBoolean isDirexist (String dir) {try {ftpclient.changeDirectory (dir); } catch (exception e) {returnfalse; } returnTrue; } / ** * 创建文件夹 * * @param dir * @param ftpclient * @throws exception * / privateStaticVoid CreateDir (string dir) throwSException {ftpclient.setasciitype (); StringTokenizer s = NewstringTokenizer (dir, "/"); // signe S.CountTokens (); String pathname = ""; while (s.hasmoreElements ()) {pathName = pathName + "/" + (string) s.nexttelement (); essayez {ftpclient.makedirectory (pathName); } catch (exception e) {e = null; }} ftpclient.setBinaryType (); }}2. 常量类 , 系统的路径分隔符
packagecom.itv.launcher.util; publicInterfaceConstants {// 路径分隔符 publicStaticString file_separator = System.getProperty ("file.separator");}3. FTP 链接的配置 Propriétés 文件 , 包括用户名密码一些信息
#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 上传删除文件的实现方法就是小编分享给大家的全部内容了 , 希望能给大家一个参考 , 也希望大家多多支持武林网。