文件的上传下载都是数据流的输入输出,大致流程都是一样的。
一、文件打包下载
1.文件写入压缩包
string mainPath="D:\upload\"; 下载路径
string tmpfileName=jar.zip; 压缩文件名
string lsml=System.getProperty("java.io.tmpdir")+"\"; 临时目录
string zipPath=lsml+tmpfileName; 压缩文件下载路径
byte buffer[]=new byte[1024];
file tmpFile=new file(zipPath)
if(!tmpFile.exists()){
tmpFile.creatNewfile();
} 创建压缩文件
FileOutputStream fos=new FileOutputStream(tmpFile);
ZipOutputStream zos=new ZipOutputStream(fos);
File[] file=new File(mainPath+需要下载文件的文件名);
for(i=0;i<file.length;i++){
FileInputStream fis=new FileInputStream(file[i]); 需要下载的文件读入输入流
zos.putNextEntry(new ZipEntry(file[i].getName())); 文件写入zip中
zos.setEncoding("GBK");
int x=0;
while((x=fis.read(buffer))!=-1){
zos.write(buff,0,x);
}
zos.closeEntry();
fis.close();
}
zos.close();
fos.close();
2.压缩包下载
File file=new File(zipPath);
if(file.exists()){
InputStream ins=new InputStream(zipPah);
BuffInputStream bis=new BuffInputStream(ins);
OutputStream outs=response.OutputStream();
BuffOutputStream bos=new BuffOutputStream(outs);
int y=0;
byte[] buffer = new byte[1024];
while((y=bis.read(buffer)!=-1){
bos.write(buffer,0,y);
}
bos.flush();
ins.close();
bis.close();
outs.close();
bos.close();
}
将以上流程按照设计的需求,写入到相应规则就可以了。
二、文件上传
对于文件上传,flagleader规则引擎中对于的jsp页面中有上传文件的功能,默认会将文件储存到C:\VisualRules\Tomcat\temp目录下
分享到:
相关推荐
【规则引擎-FTP上传】是将规则包和相关的jsp页面通过FTP(文件传输协议)上传到规则服务器,以便其他用户能够从服务器上下载并导入到本地进行共享和使用。这一功能特别适用于需要完整规则包、jsp页面以及RSC(可能为...
在旗正规则引擎中,用户可以方便地编辑和修改已存在的规则,每次修改都会生成一个新的版本。 6. **规则比较**:版本控制的关键在于比较。旗正规则引擎提供三种比较方式: - **比较历史版本**:可以查看两个不同...
标题中的“论坛可访问的所有内容”意味着这是一个关于论坛平台或者在线讨论区的资源集合,其中包含用户可以查看、参与讨论的各种话题和信息。这个压缩包很可能是为了方便用户下载和离线阅读,或者用于备份论坛的数据...
这个压缩包中的 "FuraCrew.github.io-master" 文件名表明它是从GitHub仓库克隆或下载的主分支。下面我们将深入探讨与HTML相关的知识点。 1. HTML(超文本标记语言)基础: HTML是构建网页的基本语言,由一系列元素...
内容概要:本文详细介绍了利用COMSOL软件进行超材料吸收器时域耦合模理论仿真的方法,重点在于如何通过仿真提取辐射损耗和欧姆损耗。文中首先概述了超材料吸收器的基本概念及其在光子学中的应用前景,接着阐述了时域耦合模理论的基础知识,包括不同模式间的耦合机制。随后,文章展示了具体的仿真建模流程,涵盖材料属性设定、边界条件配置、光源定义等方面。最后,通过对仿真结果的细致分析,成功提取出了辐射损耗和欧姆损耗,并讨论了这些数据对优化超材料吸收器设计的意义。 适合人群:从事光子学、超材料研究的专业人士,尤其是那些希望深入了解超材料吸收器工作原理及损耗机理的研究人员和技术开发者。 使用场景及目标:①帮助研究人员更好地理解和掌握超材料吸收器的工作原理;②为实际工程应用(如太阳能电池、隐身技术)提供理论支持和技术指导;③促进新型高效、低损耗超材料吸收器的设计与开发。 其他说明:文章不仅提供了详细的理论解析,还附带了MATLAB代码片段,便于读者复现实验过程并进一步开展相关研究。
内容概要:本文详细介绍了基于非对称纳什谈判理论的多微网电能共享与P2P交易优化策略。通过建立多微网电能共享合作运行模型,将问题分解为微网联盟效益最大化和合作收益分配两个子问题,并采用交替方向乘子法(ADMM)进行分布式求解。此外,引入非线性能量映射函数量化各参与主体的贡献,确保合作收益的公平分配。同时,考虑到电转气和碳捕集设备,实现了低碳调度,保护了各主体的隐私。 适合人群:从事电力系统优化、智能电网研究的专业人士,特别是对微网电能共享和P2P交易感兴趣的科研人员和技术开发者。 使用场景及目标:适用于需要优化多微网电能共享和P2P交易的研究项目,旨在实现电能的高效共享、合理分配以及低碳调度。目标是在保障隐私的前提下,提升微网间的合作效率和经济效益。 其他说明:文中提供的MATLAB代码经过精心设计,注释详尽,便于理解和应用。代码涵盖了从模型建立到求解的完整流程,有助于研究人员快速上手并应用于实际项目中。
软件测试在软件工程领域占据着极为关键的地位,堪称软件质量的守护屏障。经过软件测试实践的深度锻炼,能够深入领会软件测试及其流程的核心方法与技术,精准掌握黑盒测试和白盒测试中测试用例的精心设计技巧。此外,还能借此显著提升对复杂程序的编写水平,为未来投身实际软件测试岗位以及开展更深入的研究筑牢坚实的理论根基和实践基础。 本测试报告聚焦于网上购物系统项目,旨在详细阐述测试活动的全流程。报告的核心目标是全面总结测试阶段的工作成果,深入剖析测试结果,精准判断系统是否满足既定需求。该报告预期的主要参考对象为项目的开发团队成员。
文献链接:https://www.sciencedirect.com/science/article/pii/S2352484725001349 Tips: 代码运行平台为 matlab+GAMS, 使用Cplex求解
AI开发四大核心模块详解 (完整代码见附件)
第5章SCADA系统.ppt
内容概要:本文详细介绍了低速大转矩直驱力矩电机方案,旨在满足矿山机械等重载设备对高效动力的需求。该电机方案具有额定转速45rpm、额定功率120kW的特点,采用了分数槽集中绕组方案和切向式磁路结构,从而在低速状态下能输出大转矩。此外,该方案还实现了低谐波低转矩脉动,确保了电机的运行平稳性和可靠性,并已实现系列化量产,提供多种规格的产品。 适合人群:从事矿山机械、冶金、化工等领域设备设计、制造和维护的技术人员及工程师。 使用场景及目标:适用于需要高效、稳定、可靠动力源的矿山机械、冶金、化工、造纸、印刷等重载设备的驱动系统。目标是提升设备的整体性能和工作效率。 其他说明:随着工业自动化和智能化水平的提高,该电机方案在未来有望在更多领域得到广泛应用。
YOLOv8-PyQt5-GUI-pred-number-ops_7128分析和识别数字操作相关的图像-检测数学教学和研究+数据集+训练好的模型包含pyqt可视化界面,有使用教程 1. 内部包含标注好的目标检测数据集,分别有yolo格式(txt文件)和voc格式标签(xml文件), 共7128张图像, 已划分好数据集train,val, test,并附有data.yaml文件可直接用于yolov5,v8,v9,v10,v11,v12等算法的训练; 2. yolo目标检测数据集类别名:number-ops(数字操作),包括 0(零)、1(一)、2(二)、3(三)、4(四)、5(五)、6(六)、7(七)、8(八)、9(九)、div(除法)、eqv(等值)、minus(减法)、mult(乘法)、plus(加法)等 3. yolo项目用途:分析和识别数字操作相关的图像,用于数学教学和研究 4. 可视化参考链接:https://blog.csdn.net/weixin_51154380/article/details/126395695?spm=1001.2014.3001.5502
excel+annotation+excel上传下载
第一章-计算机基础知识.ppt
内容概要:本文介绍了昆仑通态触摸屏与三台汇川变频器通过无线通讯模块实现远距离控制的成功案例。系统已在实际工业环境中稳定运行一年,展示了良好的可靠性和性能。文中详细描述了系统的组成、硬件连接、软件编程、无线通讯配置以及调试优化过程。此外,还讨论了该系统的潜在扩展能力,理论上支持最远达1公里的通讯距离。 适合人群:从事工业自动化、控制系统集成的技术人员和工程师。 使用场景及目标:适用于需要远距离控制设备的工业环境,如大型厂房、矿山等。主要目标是提高生产效率,减少布线成本,增强系统的灵活性和稳定性。 其他说明:该案例不仅提供了具体的技术实现细节,还分享了一年的实际运行经验,有助于读者更好地理解和应用相关技术。
YOLOv8-PyQt5-GUI-pred-cables-nl42k_6830检测和识别电缆的类型和状态-检测电力和通信工程+数据集+训练好的模型包含pyqt可视化界面,有使用教程 1. 内部包含标注好的目标检测数据集,分别有yolo格式(txt文件)和voc格式标签(xml文件), 共6830张图像, 已划分好数据集train,val, test,并附有data.yaml文件可直接用于yolov5,v8,v9,v10,v11,v12等算法的训练; 2. yolo目标检测数据集类别名:cables(电缆),包括 Antenne(天线)、BBS(基带站)、BFU(基带单元)、Batterie(电池)、DDF(数字配线架)、PCF(电源控制单元)、PCU_AC(交流电源单元)、PCU_DC(直流电源单元)、PDU(电源分配单元)、PSU(电源供应单元)、RBS(无线基站)等 3. yolo项目用途:检测和识别电缆的类型和状态,用于电力和通信工程 4. 可视化参考链接:https://blog.csdn.net/weixin_51154380/article/details/126395695?spm=1001.2014.3001.5502
内容概要:本文详细介绍了基于S7-200 PLC和MCGS组态构建的调试控制系统。首先阐述了系统的三层架构,即底层的S7-224XP PLC用于信号采集,中间层通过PPI协议连接MCGS触摸屏,顶层利用MCGS组态软件进行监控。接着展示了具体的梯形图程序实例,如电机启停控制逻辑,强调了启停自锁机制、定时器的应用以及过载保护的设计理念。随后讲解了MCGS组态中的人机交互部分,特别是动态效果脚本的编写方法及其优化的数据传输方式。最后分享了一些实际调试过程中遇到的问题及解决方案,突出了系统的灵活性和扩展性。 适用人群:从事工业自动化领域的工程师和技术人员,尤其是对PLC编程和MCGS组态感兴趣的从业者。 使用场景及目标:适用于需要理解和掌握S7-200 PLC与MCGS组态集成应用的学习者;帮助他们学会搭建完整的工业自动化控制系统,从硬件连接到软件配置,再到具体的功能实现,最终达到能够独立完成类似项目的水平。 其他说明:文中不仅提供了理论知识,还结合了丰富的实践经验,使读者能够在实践中更好地理解和运用所学的知识。同时,对于一些常见的错误进行了提示,并给出了有效的解决办法。
电子商务支付及安全概述.pptx
内容概要:本文详细介绍了 DeepSeek 模型在本地环境下的部署流程,涵盖环境准备、模型下载、量化部署、推理代码和服务化部署等多个方面。首先,需要安装必要的依赖库,建议使用 Python 3.9 并创建独立的虚拟环境。接着,通过 Hugging Face 的 transformers 库下载模型,提供具体代码示例,包括模型的保存方式。对于 GPU 内存有限的情况,介绍了 8 位或 4 位量化的应用方法,以减少内存占用。此外,还提供了简单的文本生成示例代码,以及使用 FastAPI 将模型部署为 API 服务的方法。最后,针对常见的硬件资源不足、CUDA 版本不兼容、模型下载失败、依赖库版本冲突、量化相关错误、推理速度过慢、中文支持问题、服务部署错误、模型输出不符合预期和许可证限制等问题,给出了详细的解决方案。; 适合人群:具有一定深度学习基础,对模型本地部署感兴趣的开发者和技术人员。; 使用场景及目标:①掌握 DeepSeek 模型的本地部署流程;②解决部署过程中可能出现的各种问题;③实现模型的量化以适应低内存环境;④将模型部署为 API 服务,便于集成到其他系统中。; 阅读建议:此教程不仅提供了详细的代码示例,还涵盖了常见问题及其解决方案,因此在学习过程中应结合实际操作进行实践,并根据自己的硬件条件选择合适的部署方案。