关于java的,怎样可以做到不管资源文件放在工程目录的哪里都能找到.

我请问下,关于java的,怎样可以做到不管资源文件放在工程目录的哪里都能找到.?

就是不用写绝对路径,只需写文件名的那种,
我记得好象是这样做的:InputStream input=类名.class.getClassLoader().getResourceAsStream("fileName");但我这样做还是不行.哪位高手指点一下
不需要另外加包的,我以前做过,只是现在忘记了.只记得肯定有什么getResource之类的方法要用的.
最新回答
林中雨亭

2024-11-27 09:30:10

假如这个类在org.info.demo这个包下,
文件目录结构是
D:\java\org\info\demo\*.java
如果按下例写的话,
那么你要读入的文件就在
D:\java\resources\DBResource.properties

即文件的相对起始位置与类的顶级包在同一个文件夹下.

URL url = getClass().getResource("/resources/DBResource.properties");
// 取得文件流
InputStream in = url.openStream();

如果是应用程序的话还有另一个方法.

System.getProperty("user.dir")
可以取得类顶级包所在的绝对路径,然后组合

以上,如有问题再联系
嗲嗲仙女

2024-11-27 13:14:04

那得需要JSPSMARTUPLOAD这个JAR包,添加到项目里,就可以用了,网上有关于这个的介绍
奶茶

2024-11-27 14:35:33

不知道你是否将文件转换成二进制文件了