黑马程序员技术交流社区

标题: 关于类加载器加载配置文件 的路径的问题 [打印本页]

作者: 吴文彬    时间: 2013-4-27 13:55
标题: 关于类加载器加载配置文件 的路径的问题
本帖最后由 吴文彬 于 2013-5-7 10:20 编辑

本内容在张老师第28个视频。好奇,他那个路径的包名明明是cn.itcast.day1. 为什么可以写成cn/itcast/day1/config.properties.

在问下, 1. InputStream is1 = ReflectTest2.class.getClassLoader().getResourceAsStream("cn/itcast/day1/config.properties");                2 . InputStream is2 = ReflectTest2.class.getResourceAsStream("config.properties");

第一个为什么写的是cn/itcast/day1/config.properties 而不是src/cn/itcast/day1/config.properties.
还有为什么第一种写法不能像第二种那样。省略包名等前面的路径。不是说第二种只是简化了第一种。所以他们的相对路径范围照理说应该一样的啊。


知道的人,说下哈。万分感谢!!!!!

未命名.jpg (26.23 KB, 下载次数: 1)

未命名.jpg

未命名1.jpg (17.08 KB, 下载次数: 1)

未命名1.jpg

作者: up.yfei    时间: 2013-4-27 14:48
cn/itcast/day1/config.properties  这个是对应的 硬盘中的文件夹 就是电脑上实际的文件夹
作者: 吴文彬    时间: 2013-4-27 16:08
up.yfei 发表于 2013-4-27 14:48
cn/itcast/day1/config.properties  这个是对应的 硬盘中的文件夹 就是电脑上实际的文件夹  ...

但是他命名的明明是cn.itcast.day1.   cn/itcast/day1不是表示,cn文件下的,itcast目录下的,day1目录。。。
作者: て淡莣了陌生    时间: 2013-5-6 09:23
点和/ 是有区别的 , 点在java中 是对象点, / 是java中是代表的是文件夹路径的分隔符, 例如config.properties, 文件夹点上后缀名,这映射到硬盘中, 他只是个文件,点上后缀名是,告诉jvm是什么类型的文件, 就一句话说, 告诉jvm是到这个目录下找这个文件
作者: 吴文彬    时间: 2013-5-6 10:03
て淡莣了陌生 发表于 2013-5-6 09:23
点和/ 是有区别的 , 点在java中 是对象点, / 是java中是代表的是文件夹路径的分隔符, 例如config.proper ...

我想问的是cn.itcast.day1这个包名不是应该写成cn/itcast/day01。这样才表示cn文件下的,itcast目录下的,day1目录。 不过没见过这么写的。 不过还是想明白为什么包名里面的点,就变文件夹分隔符了。
作者: 黄玉昆    时间: 2013-5-6 23:01
如果问题未解决,请继续追问,如果问题解决了,请将分类改为“已解决”,谢谢




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2