栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JDK1.7以上javaFTP上传删除文件的实现方法

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JDK1.7以上javaFTP上传删除文件的实现方法

实例如下:

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.FtpProtocolException;
 

publicclass
FTPUtil {
 
  privatestatic
FtpClient ftpClient = null;
  privatestatic
final 
String url;
  privatestatic
final 
int 
port;
  privatestatic
final 
String user;
  privatestatic
final 
String password;
  privatestatic
final 
String remoteFilePath;
 
  static{
    Properties
 FTPPro = ReadFTPProperties.getMsgFromPro();
    url
 = FTPPro.getProperty("FTP_URL");
    port
 = Integer.parseInt(FTPPro.getProperty("FTP_PORT"));
    user
 = FTPPro.getProperty("FTP_USER");
    password
 = FTPPro.getProperty("FTP_PASSWORD");
    remoteFilePath
 = FTPPro.getProperty("FTP_REMOTE_FILEPATH");
 
  }
 
  
  privatestatic
void 
connectFTP() throwsFtpProtocolException
 {
    try{
      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();
    }
  }
 
  
  publicstatic
void 
closeFTP() {
    try{
      if(ftpClient
 != null)
 {
 ftpClient.close();
      }
    }catch(IOException
 e) {
      e.printStackTrace();
    }
  }
 
  
  publicstatic
boolean 
upload(File file, String filePath, String fileName) {
    TelnetOutputStream
 to = null;
    FileInputStream
 fi = null;
    filePath
 = remoteFilePath + Constants.FILE_SEPARATOR + filePath;
    try{
      if(file
 != null)
 {
 connectFTP();
 if(!isDirExist(filePath.replace("\","/")))
 {
   createDir(filePath.replace("\","/"));
   ftpClient.changeDirectory(filePath.replace("\","/"));
 }
 fi
 = newFileInputStream(file);
 to
 = (TelnetOutputStream) ftpClient.putFileStream(fileName, 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;
    }finally{
      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();
    }
  }
 
  
  publicstatic
boolean 
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(fileName);
      returntrue;
    }catch(Exception
 e) {
      e.printStackTrace();
      returnfalse;
    }finally{
      closeFTP();
    }
  }
  
  privatestatic
Boolean isDirExist(String dir) {
    try{
      ftpClient.changeDirectory(dir);
    }catch(Exception
 e) {
      returnfalse;
    }
    returntrue;
  }
 
  
  privatestatic
void 
createDir(String dir) throwsException
 {
    ftpClient.setAsciiType();
    StringTokenizer
 s = newStringTokenizer(dir,
"/");//
 sign
    s.countTokens();
    String
 pathName = "";
    while(s.hasMoreElements())
 {
      pathName
 = pathName + "/"+
 (String) s.nextElement();
      try{
 ftpClient.makeDirectory(pathName);
      }catch(Exception
 e) {
 e
 = null;
      }
    }
    ftpClient.setBinaryType();
 
  }
 
}

2. 常量类,系统的路径分隔符

packagecom.itv.launcher.util;
 
publicinterface
Constants {
   
  //路径分隔符
  publicstatic
String FILE_SEPARATOR = System.getProperty("file.separator");
}

3. FTP链接的配置properties文件,包括用户名密码一些信息    

#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上传删除文件的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/142947.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号