`
方块石
  • 浏览: 60037 次
  • 来自: ...
社区版块
存档分类
最新评论
阅读更多
properties = System.getProperties(); java.io.InputStream in = this.getClass().getClassLoader() .getResourceAsStream(fileUrl); properties.load(in); in.close(); ___________________________________________________ package ftp; import java.io.File; import org.apache.commons.net.ftp.FTPClient; import org.apache.commons.net.ftp.FTPFile; import com.zte.cms.contractdocument.common.util.CDFtpClient; import com.zte.cms.contractdocument.common.util.CDFtpFactory; public class CDFtpService implements ICDFtpService { /** * 删除目录下所有文件 * 实现流程:1.先查出文件下所有的文件列表 * 2.循环删除非目录类型的文件 */ public void deleteAllFiles(String directory) throws Exception { CDFtpClient ftp = CDFtpFactory.createCDFtpClient(); //初始化FTP服务 ftp.initiate(); //获取目录下文件列表 FTPFile[] files = ftp.listFiles(directory); //循环删除这些文件 for (int i = 0; i < files.length; i++) { FTPFile file = files[i]; try { //如果不是目录类型则删除 if (file.getType() != FTPFile.DIRECTORY_TYPE) { ftp.deleteFile(directory + File.separator + file.getName()); } } catch (Exception e) { e.printStackTrace(); continue; } } //销毁FTP服务 ftp.destroy(); } /** * 查询目录下所有文件列表 * 实现流程:查询文件下的文件信息列表 * @param directory * @return */ public FTPFile[] listFiles(String directory) throws Exception { CDFtpClient ftp = CDFtpFactory.createCDFtpClient(); ftp.initiate(); FTPFile[] rs = ftp.listFiles(directory); ftp.destroy(); return rs; } /** * 创建指定的文件夹 * 实现流程:判断指定目录是否存在,如果不存在则创建目录 */ public void createDirectory(String directory) throws Exception { CDFtpClient ftp = CDFtpFactory.createCDFtpClient(); //初始化FTP服务 ftp.initiate(); if (!this.isExist(directory, ftp)) { //创建文件夹 ftp.makeDirectory(directory); } //销毁FTP服务 ftp.destroy(); } /** * 判断文件夹下是否有PDG格式文件 * 实现流程:1.取得目录下的文件夹列表 * 2.判断文件夹下是否存在PDG文件 * @param directory * @return * @throws Exception */ public boolean isExistPDGFiles(String directory) throws Exception { boolean flag = false; CDFtpClient ftp = CDFtpFactory.createCDFtpClient(); ftp.initiate(); //获取目录下文件列表 FTPFile[] files = ftp.listFiles(directory); for (int i = 0; i < files.length; i++) { String fileName = files[i].getName(); if (fileName.toUpperCase().indexOf(".PDG") != -1) { flag = true; break; } } ftp.destroy(); return flag; } /** * 判断目录是否存在 * 实现流程:调用isExist(String URL,FTPClient ftp)判断是否存在目录 * @param URL * @return */ public boolean isExist(String URL) throws Exception { boolean flag = false; CDFtpClient ftp = CDFtpFactory.createCDFtpClient(); //初始化FTP服务 ftp.initiate(); flag = this.isExist(URL, ftp); //销毁FTP服务 ftp.destroy(); return flag; } /** * 判断目录是否存在 * 实现流程:取得对应文件夹下列表,判断文件夹下列表length是否大于0 * 大于0则存在否则不存在 * @param URL * @param ftp * @return * @throws Exception */ private boolean isExist(String URL,FTPClient ftp) throws Exception { //判断目录是否存在 FTPFile[] files = ftp.listFiles(URL); if (files.length > 0) { return true; } return false; } // public static void main(String[] args) // { // CDFtpService ftps = new CDFtpService(); // try // { // String url = FtpFileUrlCreater.getInstance().getRelativeContractURL("123456"); // // if (!ftps.isExist(url)) // { // ftps.createDirectory(url); // } // String url = FtpFileUrlCreater.getInstance().getRelativeVersionURL("123456", "01", "V002"); // ftps.deleteAllFiles(url); // } // catch (Exception e) // { // // TODO Auto-generated catch block // e.printStackTrace(); // } // } } ******************************************************** conn = DBUtil.getConnection(); stmt = conn.createStatement(); rs = stmt.executeQuery(sqlBuf.toString()); while (rs.next()) { String name = rs.getString("ATTACHMENT_NAME"); Blob b = rs.getBlob("ATTACHMENT_CONTENT"); if (b != null) { InputStream is = b.getBinaryStream(); BufferedInputStream bis = new BufferedInputStream(is); // 设置response response.setContentType("application/x-msdownload; charset=UTF-8"); response.addHeader("content-type", "application/x-msdownload;"); //String fileName = new String(name.getBytes("GB2312"),"UTF-8"); response.addHeader("content-disposition", "attachment; filename=" + URLEncoder.encode(name,"UTF-8")); response.setContentLength((int)b.length()); OutputStream out = response.getOutputStream(); int length = 0; byte[] buffer = new byte[10240]; while ((length = is.read(buffer)) != -1) { out.write(buffer, 0, length); } out.flush(); bis.close(); rs.getLong("ATTACHMENT_ID")
分享到:
评论

相关推荐

    webftp.zip ftp源码

    WebFTP是一种基于Web的FTP(File Transfer Protocol)客户端软件,允许用户通过网页浏览器进行FTP文件传输操作。在本文中,我们将深入探讨FTP的基本概念、WebFTP的工作原理以及它在实际应用中的重要性。 FTP,全称...

    WebFtp(Web 版Ftp)

    WebFtp是一款基于ASP.NET技术实现的Web版FTP服务,它允许用户通过浏览器进行FTP相关的操作,如上传、下载、删除文件,重命名文件,编辑文本文件,以及创建和删除文件夹。这样的服务大大简化了FTP客户端的使用,使得...

    FTP服务器单文件绿色版FTPServer

    FTP服务器是一种用于在互联网上进行文件传输的服务,它允许用户从一台计算机(客户端)向另一台计算机(服务器)上传或下载文件。FTP(File Transfer Protocol)是这项服务的基础协议,它是一个标准网络协议,用于在...

    使用 ftp-srv 在 nodejs 创建FTP服务器,简单版

    FTP(File Transfer Protocol)是一种广泛使用的网络协议,用于在计算机之间传输文件。在这个场景中,我们将探讨如何使用Node.js中的`ftp-srv`库来创建一个简单的FTP服务器。`ftp-srv`是一个易于使用的FTP服务器模块...

    ftp.rar_ftpput_ftpput ftpget_实现ftpget与ftpput功能

    FTP(File Transfer Protocol)是一种基于TCP/IP协议的网络协议,用于在网络上进行文件传输。本文将详细探讨如何实现FTP客户端的两个关键功能:FTPGET(下载文件)和FTPPUT(上传文件),以及这两个功能在实际应用中...

    传送图片至FTP及显示FTP上图片

    在IT行业中,FTP(File Transfer Protocol)是一种广泛用于在互联网上传输文件的协议。本教程将详细介绍如何将图片传输到FTP服务器以及如何在FTP服务器上显示这些图片。 首先,我们需要理解FTP的基本工作原理。FTP...

    Linux离线安装ftp安装包

    在Linux系统中,FTP(File Transfer Protocol)是一种广泛使用的网络协议,用于在互联网上进行文件传输。本资源提供了一种离线安装FTP服务器的方法,特别适用于没有网络连接或者网络环境受限的Linux环境。这里我们将...

    webFTP一个PHP写的在线FTP文件管理系统

    **webFTP概述** webFTP是一个基于PHP开发的在线FTP文件管理系统,它允许用户通过Web界面进行FTP服务器的文件管理和操作,极大地提升了FTP管理的便捷性和灵活性。作为一个轻量级的解决方案,webFTP使得用户无需安装...

    QT5.0实现FTP服务器

    FTP(File Transfer Protocol)是一种标准网络协议,用于在计算机网络上在客户端和服务器之间传输文件。在QT5.0中实现FTP服务器,可以让我们自定义一个能够处理文件上传和下载的服务,这对于开发文件管理或共享应用...

    麒麟V10服务器搭建FTP服务

    麒麟V10服务器搭建FTP服务 FTP(File Transfer Protocol)是一种常用的文件传输协议,麒麟V10服务器搭建FTP服务可以帮助用户快速搭建FTP服务器,实现文件的上传、下载和共享。本文将指导用户如何在麒麟V10服务器上...

    详解ftp创建文件权限问题

    详解ftp创建文件权限问题 一、问题 有一个这样的需求,admin为一个Linux为其FTP应用创建的一个有权限限制的用户,通过admin用户可以进行登录FTP服务,登录FTP服务后,创建文件夹,该文件夹的用户和用户组都是admin,...

    一个FTP客户端

    如果用本FTP客户端登录某个FTP服务器,则先必须申请一个FTP空间,申请FTP空间时,它会给你一个FTP主机地址、用户名称、用户密码。 测试步骤: 1、项目编译并运行。 2、申请一个FTP空间(这里不讨论)。 3、输入FTP...

    ftp4j-一个开源的支持代理的FTP组件

    ftp4j是个很年轻的开源项目,但是试用后发现很好很强大,如果你找一个纯java的FTP库,要支持socks4,socks4a,socks5,http代理,就是他了! 比apache的FTPClient(不支持代理)、半商业的edtFTPj(PRO支持代理,...

    ftp批量上传文件bat

    实现FTP批量上传文件到指定目录功能的bat脚本: @echo off @echo delete iplist.txt @del iplist.txt @setlocal EnableDelayedExpansion @echo create upload iplist.... @for /L %%i in (51,1,52) do ( @echo ...

    FTP开源代码 C++

    FTP(File Transfer Protocol)是一种广泛使用的网络协议,用于在互联网上进行文件传输。在这个开源代码库中,我们关注的是C++实现的FTP客户端或服务器端的代码,这为理解和学习FTP工作原理提供了宝贵资源。 首先,...

    QT5.0实现FTP客户端

    2. **QNAM与FTP**:虽然QNetworkAccessManager没有直接提供FTP操作的接口,但可以通过构造一个QNAM的子类并重写其内部的槽函数,来监听FTP相关的信号,从而实现FTP客户端功能。 3. **QNetworkRequest**:创建...

    全中文FTP服务器 Quick Easy FTP Server V3.9.1 绿色版

    Quick Easy FTP Server是一款专为中文用户设计的FTP服务器软件,其V3.9.1绿色版无需安装,方便快捷。FTP(File Transfer Protocol)是一种网络协议,主要用于在互联网上进行文件传输,它允许用户从一台计算机上传或...

    FTP Utility 2.0 日文

    FTP Utility 2.0 是一款由柯尼卡美能达公司开发的日文版FTP客户端工具,主要用于方便用户在计算机和远程服务器之间传输文件。这款软件适用于企业或个人,特别是那些需要频繁进行文件上传和下载的用户。通过FTP ...

    FTP被动模式分析,ftp抓包分析

    FTP 的两种不同工作模式:PORT(主动模式)与PASV(被动模式) 1、首先,我们要了解,FTP 工作的时候,需要用到两个连接:控制连接与数据连接,控制 连接专门用于FTP 控制命令及命令执行信息传送;数据连接专门用于...

    最新免费FTP地址大全

    【FTP服务介绍】 FTP(File Transfer Protocol)是互联网上一种用于传输文件的协议,它允许用户从一台远程服务器上下载或上传文件到另一台计算机。FTP服务器提供了存储和分享资源的功能,尤其在早期互联网中,FTP是...

Global site tag (gtag.js) - Google Analytics