实例如下
packagecom.itv.launcher.util; importjava.io.file; importJava.io.fileInputStream; importJava.io.FileNotFoundException; importJava.io.ioException; importJava.net.inetsocketaddress; importjava.util.properties; imporjava.util.util.TringTokizer; Importsun.net.telnetOutputStream; Importsun.net.ftp.ftpClient; importSun.net.ftp.ftpprotocolexception; /** * ftp 上传工具类 * * @author yanzhou * @version v1.0 */publicClassftputIl {privatticaticftpClient ftpClient = null; URL de sequência privataticfinal privaticatic; Porta privatitaticfinal Int; Usuário de string privataticFinal; senha privatitaticfinal string; RemoteFilePath de string privaticaticfinal Privatestatic; estático {Propriedades ftpPro = readftproperties.getmsgfrompro (); url = ftpro.getProperty ("ftp_url"); Port = Integer.Parseint (ftpPro.getProperty ("ftp_port")); usuário = ftpPro.getProperty ("ftp_user"); senha = ftpPro.getProperty ("ftp_password"); remotefilepath = ftpPro.getProperty ("ftp_remote_filepath"); } / ** * 链接 ftp * @THOWS ftpProtocolexception * / privatticaticVoid Connectftp () throwsftprotocolexception {try {ftpClient = ftpClient.create (); ftpClient.connect (newinetsocketAddress (URL, porta)); ftpClient.login (usuário, senha.toCharArray ()); 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 * arquivo de arquivo @param 文件 , struts2 从页面得到的 arquivo 类型 * @param filepath 要保存在 ftp 上的路径 (文件夹)) * @param filename 文件名 (test001.jpg undo * @return 文件是否上传成功 @THOUNS Exceção * / publicStatatBoolEan uplroad (arquivo de filtro @return * / filtro * / publicSTATTATELEAN (file) nulo; FileInputStream fi = null; filepath = remotefilepath + constantes.file_separator + filepath; tente {if (file! = null) {Connectftp (); if (! isdirexist (filepath.replace ("//", "/"))) {criateir (filepath.replace ("//", "/")); ftpClient.Changedirectory (filepath.replace ("//", "/")); } fi = newFileInputStream (arquivo); para = (telnetOutputStream) ftpclient.putfilestream (nome do arquivo, 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 (Exceção e) {returnfalse; } finalmente {if (fi! = null) {tente {fi.close (); } catch (ioexception e) {e.printStackTrace (); }} if (to! = null) {tente {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 + constantes.file_separator + filepath + constantes.file_separator; if (! isdirexist (filepath.replace ("//", "/"))) {returnfalse; } ftpClient.Changedirectory (filepath.replace ("//", "/")); ftpClient.DeleteFile (nome do arquivo); returnTrue; } catch (Exceção e) {e.printStackTrace (); returnfalse; } finalmente {closeftp (); }} / ** * 检查文件夹是否存在 * * @param dir * @param ftpclient * @return * / privatticaticboolean isdirexist (string dir) {try {ftpclient.Changedirectory (dir); } catch (Exceção e) {returnfalse; } returnTrue; } / ** * 创建文件夹 * * @param dir * @param ftpclient * @throws Exception * / privataticVoid criado (string dir) throwSception {ftpclient.Setasciitype (); StringTokenizer S = NewstringTokenizer (dir, "/"); // Sign S.CountTokens (); String pathname = ""; while (s.hasMoreElements ()) {pathname = pathname + "/" + (string) s.NextElement (); tente {ftpClient.Makedirectory (PathName); } catch (Exceção e) {e = null; }} ftpclient.setBinaryType (); }}2. 常量类 , 系统的路径分隔符
packagecom.itv.launcher.util; publicInterfaceConstants {// 路径分隔符 publicstaticstring file_separator = System.getProperty ("file.separator");}3. FTP 链接的配置 Propriedades 文件 , 包括用户名密码一些信息
#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 上传删除文件的实现方法就是小编分享给大家的全部内容了 , 希望能给大家一个参考 , 也希望大家多多支持武林网。