实例如下:
packageCom.itv.launcher.util; importjava.io.file; importJava.io.FileInputStream; importJava.io.filenotfoundException; importJava.io.ioException; importJava.net.InetSocketAddress; importJava.util.properties; importsun.net.telnetoutputstream; importsun.net.ftp.ftpclient; importsun.net.ftp.ftpprotocolexception; /** * ftp 上传工具类 * * @author yanzhou * @version v1.0 */publicclassftputil {privatestaticftpclient ftpClient = null; url สตริง privatestaticfinal; PrivatestaticFinal Int Port; ผู้ใช้สตริง PrivatestaticFinal; รหัสผ่านสตริง privatestaticfinal; PrivatestaticFinal String RemoteFilePath; คงที่ {คุณสมบัติ ftPPro = readftPProperties.getMsGFromPro (); url = ftppro.getProperty ("ftp_url"); พอร์ต = integer.parseint (ftppro.getProperty ("ftp_port")); user = ftppro.getProperty ("ftp_user"); รหัสผ่าน = ftppro.getProperty ("ftp_password"); RemoteFilePath = ftppro.getProperty ("ftp_remote_filepath"); } / ** * 链接 ftp * @throws ftpprotocolexception * / privatestaticvoid connectftp () throwsftpprotocolexception {ลอง {ftpClient = ftpClient.create (); ftpclient.connect (newinetsocketaddress (url, พอร์ต)); ftpClient.login (ผู้ใช้, รหัสผ่าน TOCHARARRAY ()); ftpClient.setBinaryType (); if (! "". เท่ากับ (RemoteFilePath) && RemoteFilePath! = null) {ftpClient.changedirectory (RemoteFilePath); }} catch (ioexception e) {e.printstacktrace (); }} / ** * 关闭 ftp 链接 * / publicstaticvoid closeftp () {ลอง {ถ้า (ftpClient! = null) {ftpClient.close (); }} catch (ioexception e) {e.printstacktrace (); }} / ** * 上传文件到 ftp * @param ไฟล์ไฟล์文件, struts2 从页面得到的ไฟล์类型 * @param filepath 要保存在 ftp (上的路径(文件夹) @@param filename 文件名( test001.jpg) @@return FileInputStream fi = null; filePath = RemoteFilePath + ค่าคงที่ FILE_SEPARATOR + FILEPATH; ลอง {ถ้า (ไฟล์! = null) {connectftp (); if (! isdirexist (filepath.replace ("//", "/"))) {createDir (filepath.replace ("//", "/")); ftpclient.changedirectory (filepath.replace ("//", "/")); } fi = newFileInputStream (ไฟล์); เป็น = (telnetOutputStream) ftpClient.putFilestream (ชื่อไฟล์จริง); ไบต์ [] ไบต์ = newByte [1024]; inti = fi.read (ไบต์); ในขณะที่ (i! = -1) {to.write (ไบต์); i = fi.read (ไบต์); }} returnTrue; } catch (filenotfoundexception e1) {returnfalse; } catch (ioexception e2) {returnfalse; } catch (exception e) {returnfalse; } ในที่สุด {ถ้า (fi! = null) {ลอง {fi.close (); } catch (ioexception e) {e.printstacktrace (); }} ถ้า (ถึง! = null) {ลอง {to.flush (); to.close (); } catch (ioexception e) {e.printstacktrace (); }} closeftp (); }} / ** * 删除 ftp 制定目录下的文件 * @param filepath 文件在 ftp 存储的路径 * @param filename 要删除的文件名称 * @return 是否删除成功 * / publicstaticboolean deleteFileftp (สตริง filepath filePath = RemoteFilePath + ค่าคงที่ FILE_SEPARATOR + FILEPATH + ค่าคงที่ FILE_SEPARATOR; if (! isdirexist (filepath.replace ("//", "/"))) {returnFalse; } ftpClient.changedirectory (filepath.replace ("//", "/")); ftpClient.deleteFile (ชื่อไฟล์); returntrue; } catch (exception e) {e.printstacktrace (); returnfalse; } ในที่สุด {closeftp (); }} / ** * 检查文件夹是否存在 * * @param dir * @param ftpclient * @return * / privatestaticboolean isdirexist (String dir) {ลอง {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, "/"); // sign s.counttokens (); PathName String = ""; ในขณะที่ (s.hasmoreElements ()) {pathName = pathName + "/" + (สตริง) s.nextElement (); ลอง {ftpClient.makedirectory (ชื่อพา ธ ); } catch (exception e) {e = null; }} ftpClient.setBinaryType (); -2. 常量类, 系统的路径分隔符
packageCom.itv.launcher.util; PublicInterFaceConstants {// 路径分隔符 PublicStaticString file_separator = system.getProperty ("file.separator");}3. คุณสมบัติ ftp 链接的配置文件, 包括用户名密码一些信息
#ftp 的 ip 地址 ftp_url = 127.0.0.1#ftp 端口号 ftp_port = 1234#用户名 ftp_user = yanzhou#密码 ftp_password = abcdefg12345#ftp 账号目录 ftp_remote_filepathord =
以上这篇 jdk1.7 以上 Javaftp 上传删除文件的实现方法就是小编分享给大家的全部内容了, 希望能给大家一个参考, 也希望大家多多支持武林网。也希望大家多多支持武林网。