实例如下 :
packageCom.itv.launcher.util; imporjava.io.file; importjava.io.fileinputStream; importjava.io.filenotfoundException; importjava.io.ioException; importjava.net.inetsocketaddress; importjava.util.properties; importjava.util.stringtokener; importsun.net.telnetoutputStream; importsun.net.ftp.ftpclient; importsun.net.ftp.ftpprotocolexception; /** * ftp 上传工具类 * * @author yanzhou * @version v1.0 */publicclassftputil {privatesTaticftpclient ftpClient = null; URL string privatestatikfinal; port int privatestaticfinal; Pengguna String Privatestatik Final; Kata Sandi String Privatestatikfinal; 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"); kata sandi = ftppro.getProperty ("ftp_password"); RemoteFilePath = ftppro.getProperty ("ftp_remote_filepath"); } / ** * 链接 ftp * @throws ftpprotocolexception * / privatesTaticvoid connectftp () throwsftpprotocolexception {coba {ftpClient = ftpClient.create (); ftpclient.connect (newinetsocketaddress (url, port)); ftpClient.login (user, password.tochararray ()); ftpClient.setBinaryType (); if (! "". Equals (RemoteFilePath) && remoteFilePath! = null) {ftpClient.ChangeDirectory (RemoteFilePath); }} catch (ioException e) {E.PrintStackTrace (); }} / ** * 关闭 ftp 链接 * / publicstaticvoid closeftp () {coba {if (ftpClient! = Null) {ftpClient.close (); }} catch (ioException e) {E.PrintStackTrace (); } } /** * 上传文件到FTP * @param file file文件,struts2从页面得到的File类型 * @param filePath 要保存在FTP上的路径(文件夹) * @param fileName 文件名(test001.jpg) * @return 文件是否上传成功 * @throws Exception */ publicstaticboolean upload(File file, String filePath, String fileName) { TelnetOutputStream to = null; FileInputStream fi = null; filepath = remotefilePath + constants.file_separator + filepath; coba {if (file! = null) {connectftp (); if (! isDirexist (filepath.replace ("//", "/"))) {createRir (filepath.replace ("//", "/")); ftpclient.changedirectory (filepath.replace ("//", "/")); } fi = newfileInputStream (file); ke = (telnetoutputStream) ftpClient.putFileStream (nama file, 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 (Exception e) {returnFalse; } akhirnya {if (fi! = null) {coba {fi.close (); } catch (ioException e) {e.printstacktrace (); }} if (to! = null) {coba {to.flush (); to.close (); } catch (ioException e) {e.printstacktrace (); }} closeftp (); }} / ** * 删除 ftp 制定目录下的文件 * @param filepath 文件在 ftp 存储的路径 * @param filename 要删除的文件名称 * @return 是否删除成功 * / publicstaticboolean deletefileFtp (string filePath, string fileName) {coba {connectftp (); filepath = remotefilePath + constants.file_separator + filepath + constants.file_separator; if (! isDirexist (filepath.replace ("//", "/"))) {returnFalse; } ftpClient.ChangeDirectory (filepath.replace ("//", "/")); ftpclient.deleteFile (nama file); kembali; } catch (Exception e) {E.PrintStackTrace (); returnfalse; } akhirnya {closeFtp (); }} / ** * 检查文件夹是否存在 * * @param dir * @param ftpclient * @return * / privatesTaticboolean isDirexist (string dir) {coba {ftpclient.changedirectory (dir); } catch (Exception e) {returnFalse; } returntrue; } / ** * 创建文件夹 * * @param dir * @param ftpclient * @throws Exception * / PrivateStaticvoid createRir (String dir) ThrowsException {ftpclient.setasciitype (); StringTokenizer S = newstringTokenizer (dir, "/"); // tandai s.counttokens (); String pathname = ""; while (s.hasmoreElements ()) {pathname = pathname + "/" + (string) s.nextElement (); coba {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 链接的配置 Properti 文件 , 包括用户名密码一些信息
#Ftp 的 ip 地址 ftp_url = 127.0.0.1#ftp 端口号 ftp_port = 1234#用户名 ftp_user = yanzhou#密码 ftp_password = abcdefg12345#ftp 账号目录 ftp_remote =
以上这篇 jdk1.7 以上 javaftp 上传删除文件的实现方法就是小编分享给大家的全部内容了 , 希望能给大家一个参考 , 也希望大家多多支持武林网。