桌面应用程序打包后配置文件读取问题,请高手赐教!

mahaixing 2005-02-16 04:48:04
我的程序已经开发完成,程序也打成了可执行的jar包。但是现在碰到一个问题一直解决不了。我的目录结构是这样的:
AppRooDir
|
-- MainApp.jar
|
-- configure.properties

当我在控制台将目录切换到程序主目录例如(/home/someuser/AppRootDir)下执行:
java -jar MainApp.jar
则程序运行正常。

但是如果我在别的目录下如(/home/someuser)执行:
java -jar AppRootDir/MainApp.jar
那么就会出现FileNotFoundException提示找不到文件configure.properties。

我尝试过使用如下方法解决,但是错误依旧:
String propertiesFile = System.getProperty("user.dir") + System.getProperty("file.separator") +
"configure.properties";

我做得是java桌面应用程序。
现在我的目的是做一个启动器来器动程序,如果不解决这个问题那么用户只能手工将目录切换到应用程序主目录来启动程序。

请问有什么办法来解决这个问题。
...全文
137 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Squall1009 2005-02-16
  • 打赏
  • 举报
回复
肯定要打进去的哈^^
mahaixing 2005-02-16
  • 打赏
  • 举报
回复
to: Squall1009(钰枫)(祝大家新年快乐!)

你的方法我试过,当configure.properties文件也被打包到jar文件中时才正确。
而我的问题中configure.properties文件并没有打包到jar文件中。
而是和jar文件在同一个目录内。

请问这种情况如何处理
Squall1009 2005-02-16
  • 打赏
  • 举报
回复
用InputStream in = this.getClass().getClassLoader().getResourceAsStream("configure.properties");
Properties prop = new Properties();
try
{
prop.load(in);
} catch (IOException e)
{
throw new IOException("No dbconfig.properties defined error");
}

String abc = prop.getProperty("abc"); //这样取属性"abc"对应的值

62,635

社区成员

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

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