如何取得资源文件路径?

cheyo车油 2004-10-19 03:44:31
我的程序结构如下:
---主目录
|-- db (Access数据库文件)
|-- icons (图标文件)
|-- salesystem (程序文件主目录/包主目录)
|--- SaleSystem.java (整个程序的入口)
|--- db (db包)
|--- book (book包)
|--- user (user包)
|--- ……
|--- ……

db包中的DBConn.java文件所写的数据库文件路径为: "db\\books.mdb"
各程序中用到的图标文件的路径是这样写的: "icons\\1.gif"等
因为我之前是在整个程序的主目录直接java SaleSystem来运行整个程序的,
所以一切正常,数据库文件和图标文件都可以正常找到。

但是,当我打包成jar文件时,找不到资源文件(数据库文件和图标文件)了,
请问这时如何取得资源文件的数据? 麻烦给出代码,谢谢.
...全文
312 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
chinaewolf 2004-10-20
  • 打赏
  • 举报
回复
CONFIG = new Properties();
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
CONFIG.load(classLoader.getResourceAsStream(configFile));
configFile放在classes目录下面
上海老猫 2004-10-20
  • 打赏
  • 举报
回复
怎么SaleSys.jar后面有!
cheyo车油 2004-10-20
  • 打赏
  • 举报
回复
图片路径问题已经解决了.

但数据库文件路径问题还没有解决, 用ClassLoader没有成功,两个连直接指定数据库文件路径都不行
:(

我把文件打包成SaleSys.jar放在D:\lib目录下,数据库文件放在这个jar包中的db/books.mdb中
为什么设置数据库路径为:
D:/lib/SaleSys.jar!/db/books.mdb

D:\\lib\\SaleSys.jar!\\db\\books.mdb(转义)
都找不到数据库文件??

Execute Query: [Microsoft][ODBC Microsoft Access Driver] '(未知的)'不是一个有效
的路径。 确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。
shangqiao 2004-10-19
  • 打赏
  • 举报
回复
InputStream in=Main.class.getClassLoader().getResourceAsStream("config/env.properties");
Properties env=new Properties();
env.load(in);
String value=env.getProperty("f");
System.out.println(value);
必须是"/"才可以
shangqiao 2004-10-19
  • 打赏
  • 举报
回复
InputStream in=Main.class.getClassLoader().getResourceAsStream("env.properties");
Properties env=new Properties();
env.load(in);
String value=env.getProperty("f");
System.out.println(value);
上海老猫 2004-10-19
  • 打赏
  • 举报
回复
filePath=File.getAbsolutePath();再去找他的路径吧
iwenlong 2004-10-19
  • 打赏
  • 举报
回复
我也遇到了,打包后文件在包中,所以按原来的路径找不到了,不知怎么定位,哪位知道请赐教,谢谢

62,634

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧