jsp中如果如何捕捉outputStream异常(文件名错误)?

cnhuai 2009-07-15 10:46:39
OutputStream outputStream= new FileOutputStream("C:\\"+DocName+".xls");

如果文件名变量DocName中含有操作系统不合法的字符,比如":","/"
能否捕捉这个异常
我的程序原来有try....catch 可以捕获到的
不知道为什么现在没有了?
大家给些指教
...全文
70 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
cnhuai 2011-02-21
  • 打赏
  • 举报
回复
解决方法:将文件名中不合法的字符替换掉
ltandfyy 2009-07-15
  • 打赏
  • 举报
回复
楼上说了,但不是全部,有一种情况是捕捉不到的,那就是如果文件名中出现冒号(:),java中是正常的,但在磁盘上会创建出一个从冒号的地方断开的文件名。
除此以外,/与\虽然也可能会造成同样的异常,但原因不一样,/与\出现在文件名中,会被误认成文件夹的切分,结果可能会变成找不到路径。
jww_in_windows 2009-07-15
  • 打赏
  • 举报
回复
比如DocName=a b?c(在windows2000上不合法)
那么会抛出如下异常:
java.io.FileNotFoundException: C:\a b?c.xls (The filename, directory name, or volume label syntax is incorrect)
这样的话,你可以根据error message:The filename, directory name, or volume label syntax is incorrect 去判断名字是否合法

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧