今天遇到个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" ;

虽然问题很小,如果不注意所不定要花费很久去处理。还好想起系统分隔符的原因:

window 和linux系统分隔符的不同相关推荐

  1. golang语言的入门基础,及window和linux系统上环境的搭配及运行

    golang语言的入门基础,及window和linux系统上环境的搭配及运行 简介: Go语言是谷歌推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性.Go语言专门针对多处理器 ...

  2. Windows与Linux系统分隔符不一致,java轻松实现区分

    场景 Windows中目录分隔符是\ Linux中系统分隔符是/ 当使用java获取某路径时,要考虑兼容性. 实现 File.separator 举例: String privateKeyAddres ...

  3. 系统损坏 mysql_mysql数据库损坏修复方法(适用window、Linux系统vps云主机)

    网站访问提示mysql错误:Table XXX is marked as crashed and should be repaired 修复方法如下: 一.管理助手方式: 打开管理助手,打开mysql ...

  4. mysql数据库损坏修复方法(适用window、Linux系统vps云主机)

    网站访问提示mysql错误:Table XXX is marked as crashed and should be repaired 修复方法如下: 一.管理助手方式: 打开管理助手,打开mysql ...

  5. 在Java层面(window和Linux系统)下的常用性能监控与调优工具的命令及操作

    前言 总结,学习,发现问题,再总结,避免以后,在需要的时候抓狂! jvm中的gc的参数解释 年轻代survivor(幸存区) S0C 年轻代中第一个survivor(幸存区)的容量(kb) S1C 年 ...

  6. 从零开始搭建EasyDarwin环境——linux系统共享目录实现

    EasyDarwin是一款高性能开源RTSP流媒体服务器,基于Go语言研发,维护和优化:RTSP推模式转发.RTSP拉模式转发.录像.检索.回放.关键帧缓存.秒开画面.RESTful接口.Web后台管 ...

  7. 怎么复制window上的内容到linux,怎样将文件从window系统复制到远程linux系统上

    怎样将文件从window系统复制到远程linux系统上 怎样将文件从window系统复制到linux系统上,其实有几种方法,好比,将windows上的文件共享出来,经过cifs协议mount到linu ...

  8. Window系统改装为linux系统

    以下以安装Centos6.5为例 1.  下载资料 1.1  准备一个U盘(大于8G) 1.2  下载U盘启动盘制作工具  UltraISO http://qunying.jb51.net:81/20 ...

  9. 小白如何在window电脑上安装Linux系统(虚拟机)超详细

    小白如何在window电脑上安装Linux系统(虚拟机) 一.软件准备. 1. VMware软件 下载地址1(迅雷):http://forspeed.onlinedown.net/down/vmwar ...

最新文章

  1. 心电图心电轴怎么计算_心电图导联及心电轴
  2. pycharm中windows找不到chrome解决办法
  3. 360网址导航源码5.0源码
  4. mysql分层_MySql中的分层数据
  5. 使用VirtualEnv在Mac安装TensorFlow
  6. C#socket编程序(二)
  7. 赋能10000家合作伙伴! | 凌云时刻
  8. 计算机设备问题代码43,双击unknown device由于该设备有问题Windows已将其停止(代码 43)怎么办解决教程...
  9. LSB算法BMP图片信息隐藏技术 c语言
  10. docker学习(八)深入浅出理解 dockerFille
  11. MoviePy - 中文文档4-MoviePy实战案例-追踪人脸,打马赛克
  12. exchange2007+outlook2007,无法使用外出助理
  13. 01-python基础一
  14. 互联网公司程序员完整的晋升路径!
  15. 商朝·商高·勾三股四玄五·勾股定理
  16. 让微积分穿梭于工作与学习之间(14):带圆弧多边形的面积计算(下,多值函数的情况)
  17. 老子-----《道德经》
  18. ISO/IEC 27018 中文版
  19. 最新版 swapidc自适应模板
  20. 同学录管理系统(C语言)

热门文章

  1. JVM运行参数之-X和-XX参数
  2. 2021-05-29当微商怎么引流?微商如何利用闲鱼引流?
  3. 微软云游戏服务器,微软:云游戏服务Project xCloud将扩展游戏服务的数量和地区...
  4. 摆脱客户端?网页发起直播势在必行!
  5. 互联网巨头介入P2P网贷的潜在风险
  6. uml的用例图中扩展关系与包含关系
  7. 今天,魅族发布了一款AirPods!
  8. 支付宝、微信、QQ 收款二维码三合一
  9. hdu1870 愚人节的礼物
  10. bibtex引用参考文献排版格式