- 浏览: 321238 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
ayidaweiwei:
上面已经写得很清楚了,吧里data 里面的数据定义成一个Bea ...
json对象转换成复杂Bean(包括bean、list<Bean>、Object) -
chaohua2012:
你好,如果json是这种形式呢"type" ...
json对象转换成复杂Bean(包括bean、list<Bean>、Object) -
a6892509:
大神呀
Java异常处理心得 -
liubaolin123:
请问有源码么?
restlet2.0.6+spring3.2.2+mybatis3.2.3 集成 -
xiangqian0505:
xiangqian0505 写道duan_1991 写道文章不 ...
Java异常处理心得
//工具类 package com.fz.common.util; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.text.SimpleDateFormat; import java.util.Date; import org.apache.commons.net.ftp.FTPClient; import org.apache.commons.net.ftp.FTPReply; public class FileUtil { /** * * @date Sep 26, 2011 10:17:39 AM * @return * @author zhangh */ public static DataInputStream getInput(){ DataInputStream d = null; try { d = new DataInputStream(new FileInputStream("c:/wmc.dat")); return d; } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } return d; } /** * * @date Sep 26, 2011 10:17:44 AM * @param whites * @return * @author zhangh */ public static boolean creatWhiteManageFile(byte[] whites,String file) { DataOutputStream d; try { d = new DataOutputStream(new FileOutputStream(file)); d.write(whites); d.flush(); } catch (Exception e) { // TODO Auto-generated catch block return false; // e.printStackTrace(); } return true; } /** * * @date Sep 16, 2011 4:39:22 PM * @param url * @param username * @param password * @param path * @param filename * @param input * @return * @author zhangh */ public static boolean uploadFile(String url, String username, String password, String path, String filename, InputStream input) { boolean success = false; FTPClient ftp = new FTPClient(); try { int reply; ftp.connect(url); // ftp.connect(url, port);// 连接FTP服务器 // 如果采用默认端口,可以使用ftp.connect(url)的方式直接连接FTP服务器 ftp.login(username, password);// 登录 reply = ftp.getReplyCode(); if (!FTPReply.isPositiveCompletion(reply)) { ftp.disconnect(); return success; } ftp.changeWorkingDirectory(path); ftp.storeFile(filename, input); ftp.logout(); input.close(); success = true; } catch (IOException e) { e.printStackTrace(); } finally { if (ftp.isConnected()) { try { ftp.disconnect(); } catch (IOException ioe) { } } } return success; } /** * * 方法名称:uploadFileFtp * 方法描述:黑名名单,黑用户文件上传ftp服务器 * @param url * @param username * @param password * @param path * @param filename * @param input * @param input2 * @return * boolean * version 1.0 * author wuxq * Oct 26, 2011 3:19:09 PM */ public static boolean uploadFileFtp(String url, String username, String password, String path, String filename, InputStream input, InputStream input2) { Date date = new Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String time = formatter.format(date); boolean success = false; FTPClient ftp = new FTPClient(); try { int reply; ftp.connect(url); ftp.login(username, password);// 登录 reply = ftp.getReplyCode(); if (!FTPReply.isPositiveCompletion(reply)) { ftp.disconnect(); return success; } ftp.changeWorkingDirectory(path); ftp.storeFile(filename, input); ftp.storeFile(filename + time, input2); ftp.logout(); input.close(); success = true; } catch (IOException e) { e.printStackTrace(); } finally { if (ftp.isConnected()) { try { ftp.disconnect(); } catch (IOException ioe) { } } } return success; } }
//读取配置文件 package com.fz.fzbike.domain; import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.Properties; import org.apache.log4j.Logger; import com.eNets.framework.util.SysConstants; /** * 获取ftp服务器信息的bean类 * * @author wuxq * */ public class SysConstats { private static Logger log = Logger.getLogger(SysConstats.class); public static String FTPSERVER;// ftp服务器ip地址 public static String FTPUSERNAME;// ftp服务器用户名 public static String FTPPASSWORD;// ftp服务器用户密码 public static String ENVELOPERESULTROOT;// 存放ftp服务器的路径 public SysConstats() { try { InputStream in = new BufferedInputStream(new FileInputStream( SysConstants.PUBLIC_PATH.substring(0, SysConstants.PUBLIC_PATH.length() - 7) + "/bidfileconfig.properties")); Properties prop = new Properties(); prop.load(in); SysConstats.FTPSERVER = prop.getProperty("ftpServer", "none"); SysConstats.FTPUSERNAME = prop.getProperty("ftpUserName", "none"); SysConstats.FTPPASSWORD = prop.getProperty("ftpPassword", "none"); SysConstats.ENVELOPERESULTROOT = prop.getProperty( "envelopeResultRoot", "none"); log.debug("读取ftp配置信息成功!"); } catch (IOException e) { log.debug("读取ftp配置信息失败!"); e.printStackTrace(); } } public static String getFTPSERVER() { return FTPSERVER; } public static void setFTPSERVER(String ftpserver) { FTPSERVER = ftpserver; } public static String getFTPUSERNAME() { return FTPUSERNAME; } public static void setFTPUSERNAME(String ftpusername) { FTPUSERNAME = ftpusername; } public static String getFTPPASSWORD() { return FTPPASSWORD; } public static void setFTPPASSWORD(String ftppassword) { FTPPASSWORD = ftppassword; } public static String getENVELOPERESULTROOT() { return ENVELOPERESULTROOT; } public static void setENVELOPERESULTROOT(String enveloperesultroot) { ENVELOPERESULTROOT = enveloperesultroot; } public static void main(String args[]) { new SysConstats(); } }
//将文件上传ftp package com.fz.fzbike.biz; import java.io.BufferedInputStream; import java.io.ByteArrayOutputStream; import java.io.DataOutputStream; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.text.DecimalFormat; import com.eNets.basesys.user.vo.UserVO; import com.eNets.framework.assemble.RequestHashNew; import com.eNets.framework.database.DBConnection; import com.fz.common.util.FileUtil; import com.fz.fzbike.common.StringUtil; import com.fz.fzbike.domain.SysConstats; /** * 上传卡内码到ftp服务器 生成bat文件 * * @author wuxq 2011-09-28 */ public class UploadCardInNoFtpAction { /** * * 方法名称:uploadFtp 方法描述:上传文件到ftp * * @param reh * void version 1.0 author wuxq Sep 28, 2011 10:38:38 AM */ public void uploadFtp(RequestHashNew reh) { String cardType = reh.get("cardType").toString(); DBConnection dbc = reh.getDBC();// 链接数据库 dbc.endTran(); // 判断是否是空值 空有可能是挂失,退出挂失, 退出黑名单, 根据卡id得到卡类型 if (StringUtil.isNull(cardType)) { String cardtypesql = "select ci.card_type from lc_t_card_info ci where ci.card_id=" + reh.get("SELECTEDID"); cardType = dbc.getList0(cardtypesql); } String top = "c:/upload/"; String file = top + "bmc.dat"; // 定义一个目录存放临时的黑名单bat文件 String whiteFile = top + "wmc.dat";// 定义一个目录存放临时的白名单bat文件 String buserfile = top + "buser.dat"; // 定义一个目录存放临时的黑用户文件 String fileID = dbc.setOracleGlideValue("LC_T_UPGRADE_FILE");// 得到文件表的序列号 // 得到当前用户的ID UserVO userVo = reh.getUserVO(); String UserID = userVo.getUserID(); DecimalFormat df = new DecimalFormat("0.0"); if (cardType.equals("7")) { StringBuffer bf = new StringBuffer(1024); bf .append( "select distinct card_in_no from(select tc.card_in_no") .append( " from lc_t_blacklist tb left join lc_t_card_info tc") .append( " on tb.card_id = tc.card_id where tc.card_type = 7") .append(" and tb.whether_effective = 1 union all select") .append(" tc.card_in_no from lc_t_card_loss cl left join") .append( " lc_t_card_info tc on cl.card_id=tc.card_id where tc.card_type = 7 and") .append(" cl.whether_effective=1) t order by t.card_in_no");// 黑名单及挂失记录表中所有的管理员记录 StringBuffer bffer = new StringBuffer(1024); bffer .append("select ti.card_in_no from lc_t_card_info ti") .append( " where ti.card_type=7 and ti.card_make_status=2 order by ti.card_in_no");// 卡信息表中所有的管理员记录 // 定义一个数组来接收黑名单中排序好的管理员卡内码 String arr[][] = dbc.getArr(bf.toString()); // 定义一个数组来接收卡信息表中排序好的管理员卡内码 String listarr[][] = dbc.getArr(bffer.toString()); upload_f(arr, file); // 得到黑名单bat文件的版本号, 初始值为1.0 String vesionSql = "select file_vesion from(select row_number() over(ORDER BY t.file_vesion DESC) num," + "t.file_vesion from lc_t_upgrade_file t where t.file_type=2) where num=1"; String vesion = dbc.getList0(vesionSql); double ve = 1.0;// 定义黑名单版本编号变量,初始值为1.0 /* * 数据库中存在旧版本则在版本增加0.1 */ if (StringUtil.isNotNull(vesion)) { ve = (Double.parseDouble(vesion) + 0.1); } vesion = df.format(ve); // 版本记录sql语句 String bmcsql = "insert into lc_t_upgrade_file values(" + fileID + ",'" + file + "','" + vesion + "','2',sysdate," + UserID + ")"; dbc.insertDB(bmcsql);// 持久化到数据库 upload_f(listarr, whiteFile); // 得到白名单bat文件的版本号, 初始值为1.0 String vesionSql2 = "select file_vesion from(select row_number() over(ORDER BY t.file_vesion DESC) num," + "t.file_vesion from lc_t_upgrade_file t where t.file_type=5) where num=1"; String vesion2 = dbc.getList0(vesionSql2); double ve2 = 1.0;// 定义白名单版本编号变量,初始值为1.0 /* * 数据库中存在旧版本则在版本增加0.1 */ if (StringUtil.isNotNull(vesion2)) { ve2 = (Double.parseDouble(vesion2) + 0.1); } String bfileID = dbc.setOracleGlideValue("LC_T_UPGRADE_FILE");// 得到文件表的序列号 vesion2 = df.format(ve2); // 版本记录sql语句 String bmcsql2 = "insert into lc_t_upgrade_file values(" + bfileID + ",'" + whiteFile + "','" + vesion2 + "','5',sysdate," + UserID + ")"; dbc.insertDB(bmcsql2);// 持久化到数据库 } else { StringBuffer bf2 = new StringBuffer(1024); bf2 .append( "select distinct card_in_no from (select tc.card_in_no") .append( " from lc_t_blacklist tb left join lc_t_card_info tc") .append( " on tb.card_id = tc.card_id where tc.card_type <> 7") .append(" and tb.whether_effective = 1 union all select") .append(" tc.card_in_no from lc_t_card_loss cl left join") .append(" lc_t_card_info tc on cl.card_id = tc.card_id") .append(" where tc.card_type <> 7 and cl.whether_effective") .append(" = 1) t order by t.card_in_no");// 黑名单表及挂失用户表中所有非管理员记录 // 定义一个数组来接收黑用户中排序好的用户卡内码 String arr2[][] = dbc.getArr(bf2.toString()); upload_f(arr2, buserfile); // 得到黑用户bat文件的版本号, 初始值为1.0 String huserSql = "select file_vesion from(select row_number() over(ORDER BY t.file_vesion DESC) num," + "t.file_vesion from lc_t_upgrade_file t where t.file_type=4) where num=1"; String vesion3 = dbc.getList0(huserSql); double ves = 1.0;// 定义黑用户版本编号变量,初始值为1.0 /* * 数据库中存在旧版本则在版本增加0.1 */ if (StringUtil.isNotNull(vesion3)) { ves = (Double.parseDouble(vesion3) + 0.1); } vesion3 = df.format(ves); // 版本记录sql语句 String husersql = "insert into lc_t_upgrade_file values(" + fileID + ",'" + buserfile + "','" + vesion3 + "','4',sysdate," + UserID + ")"; dbc.insertDB(husersql);// 持久化到数据库 } } /** * * 方法名称:writeLong 方法描述:向输出流中写长整型 * * @param input * @return byte[] version 1.0 author wuxq Sep 28, 2011 10:54:58 AM */ public static byte[] writeLong(long input) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); DataOutputStream os = new DataOutputStream(baos); try { os.writeLong(Long.reverseBytes(input)); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } byte[] b = baos.toByteArray(); return b; } /** * * 方法名称:upload_f 方法描述:把文件上传到ftp服务器 * * @param arr * @param file * void version 1.0 author wuxq Oct 8, 2011 11:37:27 AM */ public static void upload_f(String[][] arr, String file) { byte by[] = null; byte[] result = new byte[1]; if (StringUtil.isNotNull(arr)) { result = new byte[arr.length * 4]; int position = 0; for (int i = 0; i < arr.length; i++) { by = writeLong(Long.parseLong(arr[i][0])); byte list[] = new byte[4]; for (int h = 0; h < list.length; h++) { list[h] = by[h]; } for (int g = position; g < position + 4; g++) { result[g] = list[g - 4 * i]; } position = position + 4; } } boolean bool = FileUtil.creatWhiteManageFile(result, file);// 创建一个bat文件 if (bool) { // InputStreamReader isr = new InputStreamReader(new // FileInputStream(file)); InputStream inp = null; InputStream inp2 = null; try { inp = new BufferedInputStream(new FileInputStream(file)); inp2 = new BufferedInputStream(new FileInputStream(file)); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } // 截取文件名 String f = file.substring(10, file.length()); // 获取ftp配置信息 SysConstats sc = new SysConstats(); FileUtil.uploadFileFtp(sc.FTPSERVER, sc.FTPUSERNAME, sc.FTPPASSWORD, sc.ENVELOPERESULTROOT, f, inp, inp2); } } }
发表评论
-
restlet2.0.6+spring3.2.2+mybatis3.2.3 集成
2013-12-27 15:55 16850基于上一篇博客http://wuxiangqian.ite ... -
Mybatis3.2使用心得 中文API
2013-12-10 17:41 38989最近写一个web服务接口,用到了MyBatis3.2,把我 ... -
Internet Explorer 已对此页面进行了修改,以帮助阻止跨站点脚本
2013-05-05 15:11 17595ie浏览器提示错误的原 ... -
Java异常处理心得
2012-12-27 10:26 13186项目是基于 ... -
IE文本框内容右对齐后光标消失
2012-12-20 16:42 1929<input type="text" ... -
实践Oracle与DB2区别及问题解决
2012-12-19 13:53 1932项目进入开发阶段的时候,为了方便,一直使用 Or ... -
json对象转换成复杂Bean(包括bean、list<Bean>、Object)
2012-07-09 18:33 29615jsonWorkflowBean是json字符串 // ... -
json字符串转换成List<bean>
2012-06-05 14:52 1931String gra = JSONUtils.toJSON(g ... -
MyEclipse自动生成注释文档
2012-04-06 11:54 1133在myeclipse中导入该附件 window—pre ... -
Java实现 SSL双向认证
2012-04-01 10:01 1249我们常见的SSL验证较多的只是验证我们的服务器是否是真实正确的 ... -
JAVA 二级联动菜单
2012-03-12 13:45 2347<%@ page language="java ... -
列出某文件夹下的所有文件
2012-03-03 23:12 1031File f=new File("Derec ... -
java 数据库连接池的简单实现
2012-03-03 23:07 1474package com.wangjia.tools; ... -
webservices设置
2011-12-06 17:28 1123<?xml version="1.0&qu ... -
SSH整合视频 SSH整合案例 SSH整合问题解决
2011-12-05 22:01 1965个人网站:www.longhuiwang.com SSH案例 ... -
jsp播放视频文件代码
2011-12-02 21:01 18161.avi格式 代码片断如下: <object ... -
jfreechart 折线图
2011-12-01 18:35 1570package com.ssrt.group; impo ... -
myeclipse 生成注册码
2011-11-28 18:08 61package domain; import java.io ... -
myeclipse svn 安装
2011-11-28 18:07 1002一、安装方法: 方法一、如果可以上网可在线安装 1. 打开 ... -
fedora10下面访问servlet报404错误
2011-11-23 19:19 1206问题:系统在window xp下面访问servlet没有任何问 ...
相关推荐
在现代Web应用中,前端开发人员经常需要处理文件上传功能,以便用户能够将数据发送到服务器。本教程将深入探讨如何使用前端插件实现文件上传到FTP(File Transfer Protocol)服务器的过程,这是一个广泛用于文件传输...
c# 实现文件FTP上传至服务器 WebClient上传文件至服务器(不带进度条) 要上传的文件(全路径格式) <param name="strUrlDirPath">Web服务器文件夹路径 <returns>True/False是否上传成功</returns>
文件自动上传FTP服务器的设计与实现 文件自动上传FTP服务器的设计与实现 文件自动上传FTP服务器的设计与实现 文件自动上传FTP服务器的设计与实现 文件自动上传FTP服务器的设计与实现 文件自动上传FTP服务器的设计与...
本项目聚焦于如何将本地文件夹中的文件上传到FTP服务器的特定目录,这在网站更新、数据迁移或备份场景中尤其有用。我们将探讨相关的知识点,并提供一些基础的实现方法。 1. FTP基本概念:FTP是一种基于TCP的应用层...
- `put`: 将本地文件上传到FTP服务器。 - `close`: 断开与FTP服务器的连接。 #### 3. 代码解析 根据提供的代码示例,我们可以看到整个过程分为以下几个步骤: - **初始化变量**:定义了多个字符数组来存储服务器...
JAVA中生成xml文件到指定路径和上传到ftp服务器到指定路径的方法。
总的来说,这个"VC写的上传文件到FTP服务器的OCX控件"是一个强大的工具,它将复杂的FTP文件上传功能集成到了一个可嵌入网页的组件中,为开发者提供了便捷的文件上传解决方案。通过学习和使用这个控件,我们可以更好...
"oracle数据库自动备份上传至FTP服务器" Oracle 数据库自动备份上传至 FTP 服务器是指通过 Shell 脚本来实现对 Oracle 数据库的自动备份,并将备份文件上传至 FTP 服务器上,以防服务器出现故障,导致数据库无法...
FTP服务器是一种用于在互联网上进行文件传输的服务,它允许用户从一台计算机(客户端)向另一台计算机(服务器)上传或下载文件。FTP(File Transfer Protocol)是这项服务的基础协议,它是一个标准网络协议,用于在...
Spring Boot 提供了强大的支持来实现文件上传,下面我们将一步步介绍如何使用 Spring Boot 实现 FTP 方式上传文件到远程服务器。 标题:Spring Boot 使用 FTP 方式上传文件到远程服务器 描述:主要介绍了 Spring ...
Apache commons-net 上传文件至FTP服务器
在本文中,我们将深入探讨如何使用QT库来实现文件的上传和下载功能,特别是与FTP服务器的交互。QT是一个跨平台的应用程序开发框架,广泛应用于C++编程,它提供了丰富的功能,包括网络通信,使得我们可以方便地构建...
2. `上传文件`:此函数接收本地文件路径和远程服务器上的目标文件名,然后将本地文件上传至FTP服务器。 3. `上传文件夹`:此函数用于递归上传整个文件夹,可能会有额外的选项来控制是否覆盖已存在的文件。 4. `暂停...
在这个基于FTP服务器的CSV文件转换格式的文件上传下载实例中,我们将探讨如何利用FTP(File Transfer Protocol)服务进行文件的交互,以及如何处理CSV(Comma Separated Values)文件格式转换。FTP是一种标准网络...
这将上传名为 example.txt 的文件到 FTP 服务器的 incoming 目录中。 需要注意的是,默认情况下,匿名用户只能上传文件,而不能删除文件。这是因为 FTP 服务器的安全机制为了防止恶意攻击。只有超级用户和文件的...
在读取操作中,`FTPClient.retrieveFile()`方法用于从服务器下载文件,而写入操作则需要用到`FTPClient.storeFile()`方法,它可以将本地文件上传到服务器。在进行这些操作之前,可能需要设置文件传输模式(ASCII或二...
总的来说,实现Java大文件上传至FTP服务器并显示同步进度条涉及的关键技术点包括:FTPClient的使用、文件的分块上传、多线程同步、GUI组件的更新以及异常处理。通过合理设计和优化,可以实现高效且用户体验良好的大...
在本文中,我们将介绍如何使用 Spring Boot 实现 FTP 上传文件到远程服务器的流程。这个流程包括如何使用 JWT 登录认证及鉴权的流程,以及如何使用 Spring Security 实现动态数据验证及权限分配。 一、环境准备工作...
FTP服务器允许远程用户连接到本地计算机,上传或下载文件。在这个场景下,"ftpserv.exe"就是这个FTP服务器的主程序。用户只需双击运行,服务器即启动,无需复杂的配置过程。这种绿色软件的优势在于,它可以随时随地...
综上所述,“图片上传FTP服务器”涉及到的技术点包括移动应用的图片选取、剪切、文件处理、FTP连接和文件上传,以及相关的错误处理和安全措施。通过这个demo,开发者可以学习并实践这些技术,为自己的项目添加图片...