今天遇到个bug。
这是个导出功能,使用的是POI,使用已经做好的模板,向里面添加数据,在action中进行处理。
首先取得模板,
路径:
\\export\\excel\\template\\temp.xls
代码:
String modelpath = getRequest().getSession().getServletContext().getRealPath("/")+ CommonConstants.MODEL_PATH;
我电脑使用的win7系统。以上代码我在本地tomcat测试,很正常。导出一点问题没有。
当提交到测试组,测试就报出bug:
java.io.FileNotFoundException: /usr/local/apache-tomcat-5.5.23/webapps/项目名称\export\excel\template\temp.xls (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:106)
at java.io.FileInputStream.<init>(FileInputStream.java:66)
at com.stock.wrhcheck.web.StockCheckAction.exportExcel(StockCheckAction.java:85)
。。。。。。
开始还觉得很奇怪,怎么会就找不到模板文件呢?
仔细想下,想起不同系统的文件分隔符是不相同的:
获得系统名字
System.out.println(System.getProperty( "os.name "));
----------------------------
获得系统文件分隔符
System.out.println(System.getProperty("file.separator"));
文件分隔符,各个操作系统不一样
如WIndows的是"\",而Unix的是"/"
修改成下面就没问题了:
String modelpath = getRequest().getSession().getServletContext().getRealPath(CommonConstants.FILESEPARATOR)+ CommonConstants.MODEL_PATH;
public static final String FILESEPARATOR = System.getProperty("file.separator");
public static final String MODEL_PATH =FILESEPARATOR+"export"+FILESEPARATOR+"excel"+FILESEPARATOR+"template"+FILESEPARATOR+"temp.xls" ;
虽然问题很小,如果不注意所不定要花费很久去处理。还好想起系统分隔符的原因:
分享到:
相关推荐
可以将linux中的文件导出到window中。
window下Oracle 11g导出的EXPDP数据导入到linux
InfluxDB查询 导出数据 mybatis SpringBoot
sqluldr2是一款Oracle数据快速导出工具,包含32、64位程序,sqluldr2在大数据量导出方面速度超快,能导出亿级数据为excel文件,另外它的导入速度也是非常快速,功能是将数据以TXT/CSV等格式导出,有需要的赶快下载吧...
window linux DB2数据库恢复
本书全面系统地介绍了Red Hat Linux 6。全书共分为五个部分,包括35章和四个附录。第一部分为Red Hat Linux的介绍和安装;第二部分为服务配置;第三部分为系统管理;第四部分为Linux编程;第五部分为附录。本书内容...
功能一: 白板,内置Azure Aws Aliyun 官方素材,可进行 png json 格式导出。 功能二: 时间戳转换为日期,日期转换为时间戳 功能三: JSON 格式化 、压缩 功能四: 579 条Linux命令使用说明离线实时查询 功能五: Nginx ...
2.4.8 X Window 安装 32 2.4.9 程序包安装 34 2.4.10 Linux装载程序与引导盘 35 2.4.11 完成安装 36 2.4.12 配置服务器运行数据库 36 2.4.13 需要注意的事项 36 2.5 Linux的其他风格 36 2.6 小结 37 2.7 常见问答 38...
带有额外模块,highgui和Python支持的OpenCV 3.4 Jupyter笔记本Web服务器 与MacOS(XQuartz),Windows(Xming)和Linux(X.Org)兼容的X Window库 具有嵌入式Web视频播放器和OpenCV处理功能的Jupyter笔记本演示 ...
1.该文档包含了下载,安装,与mysql数据迁移到金仓数据库 2.windows, kingbase SE V8
• 学习一门编程语言,最大的意义不在于语言本身能做什么,而是通过一门语言学习和运用,改变思维的方式,把一件事情或是一个问题抽象化,用一种标准客观的方式描述它,不断地思考如何更有效率的做事 • 本教程假定...
该项目可以把fontAwesome5所有免费图标打包生成一个桌面工具,方便查找并导出svg文件 可以构建window、linux、MacOS各种版本
软件功能强大,持修复因各种原因造成的数据库无法打开或数据库删除后没有备份的问题,从而实现对Oracle数据库的抢修恢复,最大限度减少数据丢失。是用户实现Oracle数据库抢修恢复的好帮手。需要的朋友快来下载吧! ...
openssl常用于Linux环境的编程,windows下需要进行重新编译和配置,以及库文件、头文件的导出,相对繁琐。 这个包是导出的结果,解压后文件夹中有bin、lib、include文件,可以直接使用,非常简单,只需要配置一条...
可以安装在Window/Linux/Unix和其它操作系统上。客户端支持IE/Firefox。 QuickBug企业版 1.5.2 更新如下: 一:编辑器换成了UEditor,完美的兼容各种浏览器,编辑器的功能相当的丰富。特别是上传图片还支持...
两台window 2008 server ,主和子CA web服务器用Linux,配搭tomcat,keytool,openssl 实现完整认证框架,就是有点不方便,基于微软的架构要手动导出证书。完全用openssl来做,只做一级CA会更方便,这里只介绍用微软...
支持多种平台的数据库,包括AIX、LINUX、HPUX、SOLARIS、WINDOWS等,能够在一个平台上导出其他平台的数据;软件支持ASM,支持从ASM中直接抽取出数据文件和其他任意存储在ASM中的文件(包括控制文件、日志文件和归档...
支持所有平台: Windows PC, Mac, Linux等 - 只要有Chrome就行。推荐人群: 如果你喜欢用Google Task, 但有以下不满:- 想把网页版的gmail或google calendar的右边栏弄宽一点, 或者弄全屏- 不喜欢用侧边栏, 想要一个...