java.io.file 报错_关于java.io.FileNotFoundException异常问题?

本帖最后由 郝强勇 于 2013-3-14 16:18 编辑

下面的代码是客户端在访问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);

}

你可能感兴趣的:(java.io.file,报错)