A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 杨剑 中级黑马   /  2013-3-17 19:40  /  2162 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 杨剑 于 2013-3-18 12:48 编辑

如果要读取配置文件config.properties,可以用
InputStream is = new FileInputStream("config.properties");
或者用类加载器:
InputStream is = ReflectTest1.class.getClassLoader().getResourceAsStream("cn/itcast/day1/config.properties");
InputStream is = ReflectTest1.class.getResourceAsStream(config.properties);
这三种读取配置文件的方式,还是有些晕,不知道路径要怎么看路径才正确,保证文件能读取到?

点评

再次提醒: 如果问题未解决,请继续追问回复者,如果问题已经解决,请将分类改为“已解决”,否则将扣除技术分,谢谢  发表于 2013-3-18 12:09
如果问题未解决,请继续追问回复者,如果问题已经解决,请将分类改为“已解决”,谢谢  发表于 2013-3-18 06:19

评分

参与人数 1技术分 +1 收起 理由
贾文泽 + 1

查看全部评分

2 个回复

倒序浏览
我觉得要搞清楚,相对路径和绝对路径 就能理解了
绝对路径 :是从盘符开始的一直到你目标文件的全路径,如果你的文件放的比较深,为了防止输入时出错,可以直接复制windows资源管理上的地址栏 + 文件名 比如 :C:\Program Files\Common Files\Tencent\QQDownload\1.txt ;不过需要注意  " \ " 在Java里有转移的意思,所以路径分隔符要都变成" / "
相对路径 : 就是从你的当前路径到目标文件的 路径 例如:你已经在 C:\Program Files\Common Files\Tencent\ 下了 那么  ”QQDownload /1.txt “ 也可以找到 需要的文件。

总之保证文件能读取到,也就是要保证文件的路径正确就行了

评分

参与人数 1技术分 +1 收起 理由
贾文泽 + 1

查看全部评分

回复 使用道具 举报
1.InputStream is=new FileInputStream("lib/config.properties");可以指定绝对路径
2. InputStream is = this.getClass().getResourceAsStream("/config.properties");可以直接放在src下面读取到的路径就是web-inf下面的classes相对路径
E 资源配置文件在classes下
InputStream in =  this.class.getClassLoader().getResourceAsStream("config.properties");
注意事项:如上以/开头的是指从根目录开始加载。
D 使用类加载器的方式
InputStream in = Main.class.getClassLoader().
getResourceAsStream("test/resource/config.properties");
指定加载资源配置文件的classes相对路径
InputStream in =
Main.class.getResourceAsStream("/test/resource/config.properties");

java代码:
Properties prop = new Properties();
InputStream is = null;
is=new FileInputStream("lib/config.properties");
prop.load(is);
            Class.forName(prop.getProperty("driverifx"));
            Class.forName(prop.getProperty("driveroracle"));
        this.oracleConn = DriverManager.getConnection(prop.getProperty("urloracle"), prop.getProperty("usernameoracle"), prop.getProperty("userpwdoracle"));
        if (this.oracleConn != null) {
            logger.info("CONNECT ORACLE SUCCESS");
        }

评分

参与人数 1技术分 +1 收起 理由
贾文泽 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马