黑马程序员技术交流社区

标题: 运行代码异常问题!!! [打印本页]

作者: 郝强勇    时间: 2013-3-1 14:28
标题: 运行代码异常问题!!!
    下面的代码是客户端在访问servlet时,在servlet中调用数据库操作层UserDao对象中的update方法,haha.properties资源文件在src中,也就是在web应用的WEB-INF/classes目录下,但是在访问servlet时,会抛出java.io.FileNotFoundException: C:\Program%20Files\Apache%20Software%20Foundation\Tomcat%206.0\webapps\haohao3\WEB-INF\classes\haha.properties (系统找不到指定的路径。)这个异常。

public void update() throws IOException {
                //通过类加载器得到资源文件的路径
                String path = UserDao.class.getClassLoader().getResource("haha.properties").getPath();
                //通过普通的读取流读取到properties集合中
                FileInputStream fis = new FileInputStream(path);
                Properties dbconfig = new Properties();
                dbconfig.load(fis);
                //获取properties集合中的url数据
                String url = dbconfig.getProperty("url");
                System.out.println(url);
        }

如果通过下面这种方式就没有问题:

public class UserDao {
        private static Properties dbconfig = new Properties();
        static{
                //通过类加载器得到.properties资源数据的流对象
                InputStream in = UserDao.class.getClassLoader().getResourceAsStream("haha.properties");
                try {
                        //将读取流加载到properties集合中
                        dbconfig.load(in);
                } catch (IOException e) {
                        //抛出Error
                        throw new ExceptionInInitializerError(e);
                }
        }
        public void update() {
                String url = dbconfig.getProperty("url");
                System.out.println(url);
        }
作者: 许庭洲    时间: 2013-3-16 19:47
值得学习ing!




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