当前位置: 代码迷 >> J2SE >> this.class.getClassLoader().getResourceAsStrream()有关问题 急
  详细解决方案

this.class.getClassLoader().getResourceAsStrream()有关问题 急

热度:62   发布时间:2016-04-24 01:12:18.0
this.class.getClassLoader().getResourceAsStrream()问题 急!!!
InputStream in = BatchProperties.class.getClassLoader().getResourceAsStream(propertyFileName);
在linux系统 jar中有这段代码
但打印出in为:java.util.zip.ZipFile$1@19da4fc
请高手说明一下
windows下开发时 运行正常。打印出in为:java.io.BufferedInputStream@1e9cb75

------解决方案--------------------
问题是啥?没看懂。。。

你在生产环境下,资源文件被打包到JAR中去了,而JAR包就是用ZIP格式压缩的,所以得到的InputStream就是Zip的实现,很智能很好啊,有啥问题呢?


------解决方案--------------------
1.JDK的问题,InputStream 只是个接口。不是具体实现类
2.你传递参数问题,WINDOWS下的路径和LINUX下的路径符不一样。
标准情况下得到得结果就是你在WINDOWS下得到得结果一致,BUFFERDINPUTSTREAM,ZIPFILE肯定是错误的。你应该是想得到JAR包里面的一个配置文件的输入流。

------解决方案--------------------
探讨
ZipFile这个类也不是一个IO流啊 怎么读取文件内容呢

------解决方案--------------------
探讨
class java.util.zip.ZipFile$1 的确是内部类 但为什么取不到配置内容
  相关解决方案