java的FTP客户端上传、下载、删除等
2014-11-04 18:28
316 查看
最近经常用到FTP操作一些文件,越发觉得FTP协议是多么的好用。
因为最近一直写的是FTP客户端的操作,所以本文只讲一些客户端的常用操作,以后如果用到server的话,再补充server版的。
不废话了,直接贴代码,代码都是很好理解的,注释也很详细。
FTP apache jar包:http://commons.apache.org/proper/commons-net/download_net.cgi
下面是使用的一个例子
只是将FTP客户端的操作简单封装了一下,构造函数填入参数,然后直接使用方法上传、下载操作了。
将连接、登录封装到里面,也是因为FTP连接是有超时的,每次用同一个对象上传时也就不用在判断连接是否断开了,有连接就用原来的连接,没有则重新创建,简化了操作
因为最近一直写的是FTP客户端的操作,所以本文只讲一些客户端的常用操作,以后如果用到server的话,再补充server版的。
不废话了,直接贴代码,代码都是很好理解的,注释也很详细。
FTP apache jar包:http://commons.apache.org/proper/commons-net/download_net.cgi
public class FTPClientUtil { public FTPClient ftpClient; private String ip; private int port; private String username; private String password; public FTPClientUtil(String ip, int port, String username, String password) { this.ip = ip; this.port = port; this.username = username; this.password = password; ftpClient = new FTPClient(); ftpClient.setBufferSize(1024); ftpClient.setControlEncoding("UTF-8"); } private boolean connect() throws SocketException, IOException { boolean isConnect = false; ftpClient.connect(ip, port); isConnect = ftpClient.login(username, password); ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE); return isConnect; } /** * 上传文件或文件夹,可直接使用此方法上传无需连接登陆 * * @param remoteFilename * @param localFile * @throws IOException * @throws SocketException * @return */ public boolean uploadFile(String remoteFilename, File localFile) throws SocketException, IOException { if (!ftpClient.isConnected()) { connect(); } boolean isUpload = false; if (localFile.isDirectory()) { ftpClient.makeDirectory(localFile.getName()); ftpClient.changeWorkingDirectory(localFile.getName()); File[] files = localFile.listFiles(); for (File f : files) { uploadFile(f.getName(), f); } } else if (localFile.isFile()) { InputStream is = new FileInputStream(localFile); isUpload = ftpClient.storeFile(remoteFilename, is); is.close(); } return isUpload; } /** * 删除文件,可直接使用此方法删除无需连接登陆 * * @param pathname * @return * @throws IOException * @throws SocketException */ public boolean delFile(String pathname) throws SocketException, IOException { if (!ftpClient.isConnected()) { connect(); } boolean isDel = false; isDel = ftpClient.deleteFile(pathname); return isDel; } /** * 跳转目录,可直接使用此方法无需连接登陆 如跳转的文件夹不存在,则创建 * * @param pathname * @return * @throws IOException */ public boolean changeWorkingDirectory(String pathname) throws SocketException, IOException { if (!ftpClient.isConnected()) { connect(); } boolean result = false; result = ftpClient.changeWorkingDirectory(pathname); // 跳转失败则创建文件夹 if (!result) { ftpClient.makeDirectory(pathname); result = ftpClient.changeWorkingDirectory(pathname); } return result; } }
下面是使用的一个例子
只是将FTP客户端的操作简单封装了一下,构造函数填入参数,然后直接使用方法上传、下载操作了。
将连接、登录封装到里面,也是因为FTP连接是有超时的,每次用同一个对象上传时也就不用在判断连接是否断开了,有连接就用原来的连接,没有则重新创建,简化了操作
File file=new File("路径"); FTPClientUtil ftp=new FTPClientUtil("127.0.0.1",21,"test","test"); ftp.uploadFile(file.getname,file); ftp.logout(); ftp.disconnect();
相关文章推荐
- JAVA实现ftp客户端的上传、下载、删除
- java上传、下载、删除ftp文件
- Java实现ftp上传下载、删除文件及在ftp服务器上传文件夹的方法
- java FTP 上传下载删除文件
- java下载、上传、删除ftp(FTPclient,适用JDK7以及linux下的ftp)
- java上传、下载、删除ftp文件
- java ftp上传下载(包含删除操作)
- java实现ftp连接、登陆、上传、下载、删除文件、获取目录、文件列表
- Java代码使用FTPClient实现ftp文件上传下载和删除的功能
- Java 使用ftp的方式上传文件到linux,并实现删除,下载
- java操作FTP,实现文件上传下载删除操作
- 利用Java 代码创建ftp客户端并实现上传下载等功能
- java定时备份mysql,定时ftp上传,下载,删除,重命名,文件(改)
- FastDfs的java客户端的上传下载删除操作代码
- java向ftp服务器上传下载删除文件
- JAVA FTP文件上传下载删除
- Java连接FTP服务器,并上传或下载以及删除ftp服务器中的文件
- java中ftp上传、下载、重命名、删除功能实现
- java实现ftp下文件的上传、下载和删除
- 利用Java操作FTP文件上传,下载,删除