jdk1.4 的时候,我总是通过:
getClass().getResource ("myfile").getFile() getClass().getResource ("myfile").getPath()
来获得读取当前类所在位置一起的db.properties文件,但是在1.5里面发现,这个行不通了,得到的结果是:
/F:/.../myfile
前面加了一个'/'
解决的办法是:
URL url = getClass().getResource("myfle");
URI uri = new URI(url.toString());
File file = new File(uri);
file.getPath();
附录:
1.4里面这样获得各个路径下的文件:
props.load(new FileInputStream("db.properties")); 是读取当前目录的db.properties文件
getClass.getResourceAsStream("db.properties"); 是读取当前类所在位置一起的db.properties文件
getClass.getResourceAsStream("/db.properties"); 是读取ClassPath的根的db.properties文件,注意ClassPath如果是多个路径或者jar文件的,只要在任意一个路径目录下或者 jar文件里的根下都可以,如果存在于多个路径下的话,按照ClassPath中的先后顺序,使用先找到的,其余忽略.