Java命令和Tomcat执行的结果不一致

囚兔 发布于 2012/09/11 14:41
阅读 464
收藏 0

目的: 我想将一个zip包用用java来解压。

环境:linux

问题:使用Java命令运行程序,解压出来的文件名正常,在Tomcat中通过调用JSP来执行程序,文件出现??乱码。

排除:通过多次实践,排除JVM的file.encoding影响;排除linux语系环境LANG的影响;更不可能是JSP中头部字符集声明,因为我不是在jsp中显示,只是调用类,并在类中显示日志。

不清楚啥原因,请大家帮我想想,还可能是啥原因呢?

以下是问题补充:

@囚兔:经过进一步的实践发现,问题并不在解压,而是创建文件的操作tomcat会乱码,如使用File对象的createNewFile方法创建文件,通过tomcat执行文件名会乱码,而使用java命令是OK的,希望有人能帮我解答下,不胜感激! 注:JVM的参数我都尝试过了,不起作用,包括file.encoding\user.language\user.region\sun.jnu.encoding (2012/09/13 15:04)
加载中
0
红薯
红薯
Java 自带的 zip 压缩解压缩问题是不少,建议用 ant 中的压缩和解压缩类库来实现。
0
囚兔
囚兔

引用来自“红薯”的答案

Java 自带的 zip 压缩解压缩问题是不少,建议用 ant 中的压缩和解压缩类库来实现。
呵呵,其实我用的就是ant中的zip库,只是分别用Java命令【java ZipUtil 原路径 目标路径】,和Tomcat来执行我的解压程序,得到的结果前者正常,后者出现【??】乱码,怀疑是Tomcat对JVM做了什么配置,我手动改过Dfile.encoding,但也还是没效果。
返回顶部
顶部