- 浏览: 461189 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (369)
- javascript html (20)
- java (31)
- jquery (15)
- jcrop (0)
- JEECG (1)
- ajax (3)
- 反射 (3)
- VI (1)
- mysql (48)
- easyui (1)
- svn (2)
- MD5 加密 (1)
- spring (14)
- ORACLE (8)
- 经验总结 (1)
- TCP/IP协议 (1)
- ICMP协议 (1)
- eclipse (1)
- Reflect (1)
- linux (21)
- android (5)
- excel 操作 (1)
- java tree (1)
- html (1)
- plupload (1)
- mongodb (9)
- aes (1)
- python (1)
- java relax (1)
- highcharts (2)
- json (2)
- java 多线程 (30)
- maven (2)
- 设计模式 (1)
- jsp+js (2)
- 面向对象 (1)
- jvm (16)
- 缓存 (1)
- proxy (1)
- 聊侃 (1)
- 面经 (1)
- java 字节 (1)
- java 类加载器 (2)
- java 基础 (2)
- java 语法糖 (1)
- java 位运算 (1)
- 排序 (3)
- java 服务器性能优化 (19)
- 网络编程 (2)
- jvm 参数设置 (0)
- jersey (1)
- webservice (2)
- nginx+多tomcat 集成 (5)
- nginx (16)
- squid (3)
- memcached (5)
- 正则表达式 (1)
- 常用免费接口 (1)
- jpa (1)
- win7 (1)
- java处理大文件 (1)
- js正则表达式 (1)
- tomcat (1)
- java 敏感字 (1)
- 系统架构优化 (4)
- 学习 (1)
- 本地测试QQ微博第三方登陆 (1)
- java 错误 (1)
- 微信支付 (1)
- https (1)
- httpclient (1)
- awk (2)
- loadrunner (1)
- sql server 2008 (3)
- git (4)
- sql server2008 (1)
- solr (2)
- centos (1)
- 数据存储架构 (3)
- log4j (1)
- weboffice (1)
- 并发编程 (1)
- postgreSQL (0)
- ssl (1)
- openssl (1)
- activeMQ (2)
- IDEA (1)
- shell (1)
- ansible (4)
- docker (2)
- grafana (1)
- jmeter (1)
- TLS (1)
- 将博客搬至CSDN (1)
最新评论
-
dida1990:
啊喔,过去了这么久,不过还是评一个。谁说uuid的hashCo ...
高并发生成订单号(二) -
annan211:
yclovesun 写道使用了uuid,为什么还要machin ...
高并发生成订单号(二) -
yclovesun:
使用了uuid,为什么还要machineId?uuid已经可以 ...
高并发生成订单号(二) -
u013280917:
太深奥,看不懂
mysql优化特定类型的查询
1 controller
@RequestMapping(value = "/{project}/{moduel}/export/product/{productId}", method = RequestMethod.GET) public void exportProductData(HttpServletRequest request, HttpServletResponse response, @PathVariable("project") String project, @PathVariable("moduel") String moduel, @PathVariable("productId") String productId) throws IOException { String baseUrl = String.format("/%s/%s/%s", project, moduel, "export/product"); LOG.info(String.format("正在接收%s请求", baseUrl)); Map<String, Object> reqMap = new HashMap<String, Object>(); reqMap.put("productId", productId); RtResponse rtResponse = reqUrlDefService.getResponse(baseUrl, request, reqMap); Map<String,Object> data = (Map<String, Object>) rtResponse.getData(); Map<String,Map<String,Object>> bytes = (Map<String,Map<String,Object>>) data.get("files"); List<File> files = new ArrayList<File>(); for(Entry<String, Map<String, Object>> map : bytes.entrySet()){ Map<String,Object> byteMap = map.getValue(); String fileName = (String) byteMap.get("fileName"); String contentType = (String) byteMap.get("contentType"); byte[] byt = (byte[]) byteMap.get("fileByte"); File file = new File(fileName); FileOutputStream fos = new FileOutputStream(file); fos.write(byt); files.add(file); fos.close(); } String filename = URLEncoder.encode("product-struct.zip", "UTF-8"); byte[] buf = new byte[1024]; ZipOutputStream out = new ZipOutputStream(new FileOutputStream(filename)); out.setMethod(ZipOutputStream.DEFLATED); for (int i = 0; i < files.size(); i++) { FileInputStream in = new FileInputStream(files.get(i)); out.putNextEntry(new ZipEntry(files.get(i).getName())); int len; while ((len = in.read(buf)) > 0) { out.write(buf, 0, len); } out.closeEntry(); in.close(); } out.close(); int bytesRead = 0; byte[] buffer = new byte[8092]; ByteArrayOutputStream bos = new ByteArrayOutputStream(); InputStream is = new FileInputStream(filename); while ((bytesRead = is.read(buffer, 0, 8092)) != -1) { bos.write(buffer, 0, bytesRead); } response.reset(); response.setHeader("Content-disposition", "attachment;filename=" + filename); response.setContentType("application/x-zip-compressed"); OutputStream os = response.getOutputStream(); os.write(bos.toByteArray()); os.flush(); os.close(); }
2 service
@Override public RtResponse exportProductInfo(RtRequest request) throws Exception { RtResponse response = new RtResponse(); Integer code = ResultCode.FAILURE; String dataJson = ""; Map<String,Map<String,Object>> bytes = new HashMap<String,Map<String,Object>>(); //产品图片 if(AppUtils.isNotBlank(adjuncts)){ for(ProductAdjunct pa : adjuncts){ String fileId = pa.getAdjunctPath(); GridFS gridFS = new GridFS(mongotemplate.getDb(), "file_collections"); DBObject query = new BasicDBObject("_id", fileId); GridFSDBFile gridFSDBFile = gridFS.findOne(query); logger.info("附件接口 文件流内容...{}", gridFSDBFile.getInputStream()); Map<String, Object> maps = new HashMap<String, Object>(); maps.put("fileName", pa.getAdjunctClass()+"-+"+gridFSDBFile.getFilename()); maps.put("contentType", gridFSDBFile.getContentType()); maps.put("fileByte", FileUtils.input2byte(gridFSDBFile.getInputStream())); maps.put("type", pa.getAdjunctClass()); bytes.put(pa.getAdjunctClass(),maps); } } dataJson = JsonUtil.javaObjToJson(productDataObject); Map<String, Object> maps = new HashMap<String, Object>(); maps.put("fileName", "ProductData.txt"); maps.put("contentType", "application/txt"); maps.put("fileByte", dataJson.getBytes("UTF-8")); maps.put("type", "product"); bytes.put("product",maps); data.put("files",bytes); code = ResultCode.SUCCESS; response.setCode(code); response.setData(data); return response; }
发表评论
-
log4j.xml配置文件
2017-08-15 21:19 490<?xml version="1.0& ... -
java dos窗口打包
2017-02-17 19:22 605指定编码 cmd jar包 > jar -cvf xxx ... -
互联网面试实例
2016-12-01 22:34 01 hibernate 原理机制 2 解释1-2个你最熟悉 ... -
java 枚举 根据key获取value
2016-10-26 14:28 3830package com.utcip.crm.common.co ... -
高并发 生成订单号(一)
2015-12-08 15:31 40971 设置主键自增为何不可取 这样的话,数据库本身是单点, ... -
double 浮点数据精确度
2014-12-29 14:45 825/* * * * * 版权 ... -
Java 实现深拷贝
2014-10-10 11:47 721http://developer.51cto.com/art/ ... -
如何计数一个字符在某个字符串中出现的次数?
2014-08-29 12:00 846如何计数一个字符在某个字符串中出现的次数? 使用 ... -
java 内部类作用分析
2014-08-25 13:46 467http://blog.csdn.net/ilibaba/ ... -
dos窗口 编译java工程
2014-07-22 11:54 339cd sts-web mvn jetty:run ... -
设计权限读写系统的思想
2014-05-26 18:54 799读写权限系统的设计 ... -
java 二进制十六进制互转
2014-05-26 15:15 1904/**将16进制转换为二进制 * @param hexS ... -
java 有小数时返回小数,无小数时返回整型
2014-05-22 15:42 1147/** * 对double类型数据操作 忽略. ... -
java 竟态条件与临界区
2014-05-20 15:15 1051竞态条件 & 临界区 当两个线程竞争同一资源 ... -
java web系统 cookie 管理
2014-05-16 16:56 1101第一步 写一个cookieUtil工具类 packa ... -
java 将 json字符串 返回到调用页面成为json
2014-05-15 18:35 1696@MethodResourceDesc(name = ... -
java 处理 大 json 字符串
2014-05-15 18:31 2555java 代码处理 json 字符串,存在很多种方法,最直接的 ... -
达内到底好不好? 达内培训怎么样? 达内培训效果如何? 达内培训出来好找工作吗?谁来为我负责?
2014-05-14 13:35 144达内到底好不好 达内培 ... -
java 实现生产者消费者模式
2014-05-09 10:20 1195package cosu_pro.pc; impor ... -
java 删除服务器附件
2014-03-19 12:06 580request.getSession().getSer ...
相关推荐
接下来,我们要实现将CSV文件压缩成ZIP格式。Java标准库中的`java.util.zip`包提供了`ZipOutputStream`类,可以方便地完成这一任务: ```java import java.io.*; import java.util.zip.*; public class ...
然而,当需要导出多个 Excel 文件时,使用者将频繁操作,这样就严重降低了项目的友好交互性以及易用性。为了解决这个问题,本文将介绍如何使用 Java 实现 Excel 压缩成 Zip 导出。 首先,需要创建一个样例工程 ...
在Java编程中,有时我们需要从网络上下载多个文件并将其打包为一个压缩文件,例如ZIP格式,以便于存储或分发。这个过程涉及到文件I/O操作、网络请求以及压缩算法的使用。以下是对这个场景的详细说明: 1. **网络...
总结起来,Java通过Apache Commons Compress库提供的API,可以方便地实现多层级目录的文件压缩和解压。`FileUtils.java`类是这个功能的具体实现,它封装了上述的压缩和解压过程,使开发者能够轻松地在代码中调用这些...
- 将多个Excel文件压缩成一个zip文件可以大大减小存储空间需求,便于传输和分享。 - 使用zip压缩格式,能有效降低文件体积,因为zip支持有损和无损压缩算法,可以根据需要选择合适的压缩级别。 - 在处理大量文件...
本文主要介绍了Java 批量文件压缩导出并下载到本地示例代码的实现思路和示例代码。该示例代码主要使用了Apache的ZipOutputStream来实现文件压缩,并使用POI库来处理Excel文件。 首先,在Controller层中,我们可以...
在“csv大数据导出”这个压缩包文件中,可能包含了示例代码、教程文档或者案例研究,帮助开发者理解如何实施这种分批并压缩导出的方法。通过学习和实践,开发者可以掌握在大数据场景下,如何利用CSV格式和分批压缩...
利用svnkit操作svn,实现对版本修改文件的导出,可以导出多个版本,.java文件将会在本地取出.class文件,导出后压缩成压缩包,主要用于服务器上的资源更新,不需要开发人员去找到对应的.class文件或其他文件压缩然后...
Java多文件以ZIP压缩包导出的实现方法主要围绕着Java编程语言对文件进行打包压缩的过程展开,涵盖了如何使用Java对服务器上的图片或其他文件进行压缩并导出为ZIP格式的压缩包。在实现这一功能的过程中,开发者需要对...
在Java开发中,实现PDF导出功能是一项常见的需求,特别是在处理包含中文字符的文档时,确保中文支持至关重要。本文将详细讲解如何在Java环境中利用相关的库和资源来实现在PDF中正确显示中文字符。 首先,PDF...
原理:压缩图片然后再另存成新文件 实例如下: ├── META-INF │ └── MANIFEST.MF ├── pom.xml └── src ├── main │ ├── java │ │ ├── META-INF │ │ │ └── MANIFEST.MF │ │ ├...
在Java后台中,批量下载文件压缩成zip下载可以使用Java的文件输入输出流和zip压缩流来实现。首先,需要在Servlet中获取文件列表,然后使用循环将文件一个个添加到zip文件中,最后下载zip文件到本地桌面。 java批量...
很简单的代码,很轻松的实现将多个文件压缩成一个包
在Java编程环境中,处理压缩和解压缩文件是一...以上是关于Java实现带密码的ZIP文件压缩和解压的基本概念和实现细节。通过深入理解这些知识点,开发者可以构建自己的安全文件处理工具,满足对数据隐私和安全性的需求。
请到网站http://www.apache.org/dyn/closer.cgi/poi/右击超链接2.5.1.zip下载压缩包poi-bin-2.5.1-final-20040804.zip,解压缩后得到如图2.1所示的目录结构。我们主要用到poi-2.5.1-final-20040804.jar这个库文件。...
综上所述,实现“java将数据导入多个excel并压缩”的功能需要对Java的文件操作、Excel处理、文件压缩以及Web开发有深入的理解。通过Apache POI库处理Excel,结合Java内置的压缩API,我们可以创建一个高效且可扩展的...
在Java编程环境中,导出数据到PDF、Excel和Word格式是一项常见的需求,这通常涉及到文件处理和格式转换。...对于压缩包子文件“导出文件”,可能包含了示例代码或导出的样本文件,可以进一步研究和学习。
在IT行业中,Apache POI是...总之,Apache POI库为Java开发者提供了强大的Excel操作能力,配合网络请求和压缩技术,可以实现各种复杂的文件处理需求。在实际开发中,理解并熟练掌握这些技术,能够极大地提升工作效率。
在IT行业中,处理大数据量的Excel文件是一项挑战,特别是在数据导出时,如果单线程操作,可能会导致性能瓶颈和长时间的等待。Apache POI是一个流行的Java库,它允许开发者创建、修改和显示Microsoft Office格式的...
在本项目中,我们主要探讨如何使用SpringBoot框架与阿里云OSS(Object Storage Service)服务相结合,通过Easypoi库实现文件的导入、导出功能,以及OSS上的文件上传和下载。Easypoi是一个强大的Java操作Excel的工具...