实例如下 :
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; importsun.net.telnetoutputStream; importsun.net.ftp.ftpclient; importsun.net.ftp.ftprotocolexception; /** * ftp 上传工具类 * * @author yanzhou * @version v1.0 */publicClassftputil {privateStaticftpClient ftpClient = null; URL de cadena de fondos privados; PrivateStaticFinal Int Port; PrivateStaticFinal String User; PRIVATESTATICICFinal String Password; PrivateStaticFinal String RemoteFilepath; static {Propiedades ftpPro = readftpProperties.getMsgFromPro (); url = ftppro.getProperty ("ftp_url"); port = Integer.ParseInt (ftppro.getProperty ("ftp_port")); user = ftppro.getProperty ("ftp_user"); contraseña = ftppro.getProperty ("ftp_password"); RemoteFilePath = ftpPro.getProperty ("ftp_remote_filePath"); } / ** * 链接 ftp * @throws ftpProTocolException * / privateStaticVoid Connectftp () throwsftpProTocolException {try {ftpClient = ftpclient.create (); ftpClient.connect (newInetSocketAddress (url, puerto)); ftpclient.login (usuario, contraseña.toCarArray ()); ftpClient.setBinaryType (); if (! "". Equals (RemoteFilePath) && RemoteFilePath! = NULL) {ftpClient.ChangedIrectory (remotaFilePath); }} catch (ioException e) {E.PrintStackTrace (); }} / ** * 关闭 ftp 链接 * / publicStaticVoid Closeftp () {try {if (ftpClient! = Null) {ftpClient.close (); }} catch (ioException e) {E.PrintStackTrace (); }} / ** * 上传文件到 ftp * @param archivo de archivo 文件 , struts2 从页面得到的 archivo 类型 * @param filePath 要保存在 ftp 上的路径(文件夹) * @param filename 文件名( test001.jpg) * @return 文件是否上传成功 * @throws excepción * / publicstaticboolean 文件是否上传成功 文件是否上传成功 文件是否上传成功 文件是否上传成功 * @throws excepción * / @archivo de @Chorthaticboolean (archivo, string filePath) FileInputStream fi = null; filePath = remotofilepath + constantes.file_separator + filepath; intente {if (file! = null) {conecttp (); if (! isDirexist (filepath.replace ("//", "/"))) {creatirir (filepath.replace ("//", "/")); ftpclient.changedirectory (filePath.replace ("//", "/")); } fi = newFileInputStream (archivo); a = (TelnetOutputStream) ftpClient.putFileStream (nombre de archivo, 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; } capt (excepción e) {returnfalse; } finalmente {if (fi! = null) {try {fi.close (); } catch (ioException e) {E.PrintStackTrace (); }} if (a! = null) {try {to.flush (); to.close (); } catch (ioException e) {E.PrintStackTrace (); }} Closeftp (); }} / ** * 删除 ftp 制定目录下的文件 * @param filepath 文件在 ftp 存储的路径 * @param nombre de archivo 要删除的文件名称 * @return 是否删除成功 * / publicstaticboolean deletefileftp (string filepath, string fileName) {try {conecttp (); filePath = remotofilepath + constants.file_separator + filepath + constants.file_separator; if (! isDirexist (filepath.replace ("//", "/"))) {returnfalse; } ftpclient.changedirectory (filepath.replace ("//", "/")); ftpClient.DeleteFile (nombre de archivo); returnTrue; } catch (Exception e) {E.PrintStackTrace (); returnfalse; } Finalmente {Closeftp (); }} / ** * 检查文件夹是否存在 * * @param dir * @param ftpclient * @return * / privateStaticBoolean isDirexist (string dir) {try {ftpclient.changedirectory (dir); } capt (excepción e) {returnfalse; } returnTrue; } / ** * 创建文件夹 * * @param dir * @param ftpClient * @throws excepción * / privateTaticVoid creationir (string dir) throwsexception {ftpclient.setasciitype (); StringTokenizer S = NewstringTokenizer (dir, "/"); // firmar S.CountTokens (); String PathName = ""; while (s.hasmoreelements ()) {pathName = pathname + "/" + (string) s.nextelement (); intente {ftpClient.MakedIrectory (PathName); } catch (excepción e) {e = null; }} ftpClient.setBinaryType (); }}2. 常量类 系统的路径分隔符 系统的路径分隔符
PackageCom.itv.launcher.util; publicInterfaceConstants {// 路径分隔符 PublicStaticstring file_separator = system.getProperty ("file.separator");}3. FTP 链接的配置 Propiedades 文件 , 包括用户名密码一些信息
#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 上传删除文件的实现方法就是小编分享给大家的全部内容了 , 希望能给大家一个参考 也希望大家多多支持武林网。 也希望大家多多支持武林网。