`
tianqinghua
  • 浏览: 27516 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类

常见的FTP工具类

阅读更多
/* * Created on Nov 26, 2009 * * TODO To change the template for this generated file go to * Window - Preferences - Java - Code Style - Code Templates */ package com.suning.commerce.order.commands; /* *----------------------------------------------------------------- * IBM Confidential * * OCO Source Materials * * WebSphere Commerce * * (C) Copyright IBM Corp. 2009 * * The source code for this program is not published or otherwise * divested of its trade secrets, irrespective of what has * been deposited with the U.S. Copyright Office. *----------------------------------------------------------------- */ import java.io.DataInputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.RandomAccessFile; import org.apache.commons.lang.StringUtils; import sun.net.TelnetInputStream; import sun.net.TelnetOutputStream; import sun.net.ftp.FtpClient; /** * @author Athena * * TODO To change the template for this generated type comment go to Window - * Preferences - Java - Code Style - Code Templates */ public class SNFtpUtil extends FtpClient { private String server; private String user; private String password; private int port; private String path; /** * 连接FTP服务器 */ public void connectServer() throws Exception { openServer(server, port); login(user, password); System.out.println("Login success!"); binary(); } /** * 关闭FTP服务器连接 */ public void closeConnect() { try { closeServer(); } catch (IOException e) { e.printStackTrace(); } } public void upload(InputStream in, String remotefilename) throws IOException { TelnetOutputStream os = null; try { os = put(remotefilename); byte[] bytes = new byte[1024]; int c; while ((c = in.read(bytes)) != -1) { os.write(bytes, 0, c); } } finally { in.close(); os.close(); } } public SNFtpUtil popFtpConfigSERVER(String ip, String port, String user, String password, String path) throws IOException { SNFtpUtil ftp = new SNFtpUtil(); ftp.setServer(ip); ftp.setPort((new Integer(port)).intValue()); ftp.setUser(user); ftp.setPassword(password); ftp.setPath(path); try { ftp.connectServer(); } catch (Exception e) { e.printStackTrace(); } System.out.println("before path is" + path); ftp.cd(path); System.out.println("after path is" + path); return ftp; } /** * 上传文件 */ public void upload(String localFilePath, String remoteFilePath) { try { TelnetOutputStream os = put(remoteFilePath); File file_in = new File(localFilePath); FileInputStream is = new FileInputStream(file_in); byte[] bytes = new byte[1024]; int ch; while ((ch = is.read(bytes)) != -1) { os.write(bytes, 0, ch); } is.close(); os.close(); System.out.println("Upload file succesfully!"); } catch (IOException e) { e.printStackTrace(); } } /** * 下载文件 */ public void download(String localFilePath, String remoteFilePath) { try { int ch; File fi = new File(localFilePath); RandomAccessFile raf = new RandomAccessFile(fi, "rw"); raf.seek(0); TelnetInputStream fget = get(remoteFilePath); DataInputStream puts = new DataInputStream(fget); while ((ch = puts.read()) >= 0) { raf.write(ch); } fget.close(); raf.close(); System.out.println("Dowload one log successfully"); } catch (IOException e) { e.printStackTrace(); } } /** * 远程serverFTP配置 * * @return SNFtpUtil ftp帮助类 * @throws IOException */ public SNFtpUtil popFtpConfigSERVER_SIT(String ip, String port, String user, String password, String path) throws IOException { SNFtpUtil ftp = new SNFtpUtil(); ftp.setServer(ip); if (StringUtils.isNotEmpty(port)) ftp.setPort((new Integer(port)).intValue()); ftp.setUser(user); ftp.setPassword(password); ftp.setPath("/"); try { ftp.connectServer(); } catch (Exception e) { e.printStackTrace(); } System.out.println("before path is" + path); ftp.cd(path); System.out.println("after path is" + path); return ftp; } /** * 删除文件,可以是文件或文件夹 * * @param fileName * 要删除的文件名 * @return 删除成功返回true,否则返回false */ public boolean delete(String fileName) { File file = new File(fileName); if (!file.exists()) { System.out.println("删除文件失败:" + fileName + "不存在!"); return false; } else { if (file.isFile()) return deleteFile(fileName); else return deleteDirectory(fileName); } } /** * 删除单个文件 * * @param fileName * 要删除的文件的文件名 * @return 单个文件删除成功返回true,否则返回false */ public boolean deleteFile(String fileName) { File file = new File(fileName); // 如果文件路径所对应的文件存在,并且是一个文件,则直接删除 if (file.exists() && file.isFile()) { if (file.delete()) { System.out.println("删除单个文件" + fileName + "成功!"); return true; } else { System.out.println("删除单个文件" + fileName + "失败!"); return false; } } else { System.out.println("删除单个文件失败:" + fileName + "不存在!"); return false; } } /** * 删除目录及目录下的文件 * * @param dir * 要删除的目录的文件路径 * @return 目录删除成功返回true,否则返回false */ public boolean deleteDirectory(String dir) { // 如果dir不以文件分隔符结尾,自动添加文件分隔符 if (!dir.endsWith(File.separator)) dir = dir + File.separator; File dirFile = new File(dir); // 如果dir对应的文件不存在,或者不是一个目录,则退出 if ((!dirFile.exists()) || (!dirFile.isDirectory())) { System.out.println("删除目录失败:" + dir + "不存在!"); return false; } boolean flag = true; // 删除文件夹中的所有文件包括子目录 File[] files = dirFile.listFiles(); for (int i = 0; i
分享到:
评论

相关推荐

    FtpUtil.java(ftp工具类)

    ftp工具类,构造方法初始化类,连接ftp,列出所有文件内容,下载文件

    FTP 工具类

    FTP 工具类,赚钱积分下载东西,谢谢各位!谢谢各位!

    java版FTP工具类

    ftp工具类,帮助你很容易的实现ftp功能

    ftp工具类操作ftp服务器

    ftp操作工具类,用户ftp文件的添加,删除,等操作!

    java操作FTP工具类

    java操作FTP工具类:实现基本断点上传下载、实现上传下载进度汇报、实现中文目录创建及中文文件创建,添加对于中文的支持

    JAVA 操作FTP的工具类,上传,下载,删除功能都有了。

    对于初学者来说,理解并使用这样的FTP工具类可以帮助他们快速掌握FTP操作,避免了重复编写相同功能的代码。同时,这个工具类也展示了如何在Java中利用第三方库(如Apache Commons Net)来扩展Java标准库的功能。 ...

    文件FTP上传的工具类

    ftp 上传时,用到的工具类,项目上配置好ftp服务器后,controller可以方便的调用此工具类进行上传

    java ,android平台FTP工具类

    FTP工具类,包括:文件夹上传下载,文件删除(包括非空文件夹),重命名等操作 基本的操作应该都有

    ftp上传工具类

    java的ftp工具类,需要的自行下载查看,有切换目录,创建目录方法。

    基于springboot的FtpUtil工具类.zip

    FtpUtil是为简化FTP操作而编写的实用工具类,它封装了连接、登录、文件操作等常用方法。例如,`connectToFtpServer`方法用于建立与FTP服务器的连接,`login`方法用于用户认证,`uploadFile`和`downloadFile`方法则...

    ftp上传下载工具类

    9. 错误处理和关闭连接:在使用FTP工具类时,要确保正确处理网络错误和异常,并在完成操作后关闭FTP连接,释放资源。 10. 安全性考虑:尽管传统的FTP协议传输数据时不加密,但有更安全的SFTP(SSH File Transfer ...

    Android ftp 下载工具类

    本知识点主要集中在如何使用Java实现一个FTP下载工具类,以便在Android应用程序中集成这一功能。以下是对`DownloadFTPUtil.java`文件中可能包含的代码和相关知识点的详细解释。 1. **FTP客户端库**:在Android中,...

    Apache FTPClient操作FTP工具类

    Apache FTPClient操作FTP工具类

    apache FTP 工具类

    接下来,我们将深入探讨FTP工具类的主要功能、使用方法以及源码分析。 **1. FTPClient类** FTPClient是Apache Commons Net的核心类,它实现了FTP协议的大部分功能。通过这个类,我们可以连接到FTP服务器,执行登录...

    IOS FTP客户端工具类

    对于这个FTP工具类,由于在MRC下编写,使用时需要注意手动处理对象的引用计数。如果项目中其他部分使用了ARC,可以借助`__bridge`、`__bridge_transfer`等转换关键字来兼容MRC和ARC的混编。 具体使用示例可能如下:...

    使用Apache commons-net.jar开发FTP工具类

    在本文中,我们将深入探讨如何利用这个库开发一个FTP工具类,以便在Java应用程序中进行文件上传、下载和其他FTP操作。 首先,我们需要了解FTP的基本概念。FTP是一种用于在网络上进行文件传输的标准协议。它允许用户...

    FTP工具类实现ftp上传下载

    采用java实现FTP文件的上传下载,包含文件以及文件夹上传下载,新建文件夹等基本相关操作,不会出现文件名的中文乱码,内含demo相关测试以及jar包,可直接导入使用,采用MyEclipse8.5,jdk1.6亲测无问题

    jdk1.7以上专用FTP工具类

    jdk1.7以上专用FTP工具类,本人花了半天时间调试通过,拿来即用,具体用法详见main函数。

    java上传ftp服务器工具类

    java上传ftp服务器工具类,提供完成的方法,直接调用即可

    FTP操作工具类

    在软件开发中,FTP工具类通常包含了连接、登录FTP服务器,上传、下载文件,创建、删除目录等常见操作,使得开发者无需从零开始编写这些功能,可以直接调用预设的方法来实现相关功能,提高了开发效率。 FTP工具类的...

Global site tag (gtag.js) - Google Analytics