Jas*_*n S 14 java jar properties
我有一个.jar文件,我正在整理.我想创建一个非常简单的.properties文件,其中包含用户名和其他内容等可配置的东西,这样他们就可以手工编辑而不是必须包含GUI编辑器.
我想做的是能够按以下顺序搜索:
args[0])我知道如何访问#1和#3(我认为),但如何在运行时#2和#4确定?
Chr*_*ill 10
对于4,你可以试试这个.获取类路径:
String classpath = System.getProperty("java.class.path");
Run Code Online (Sandbox Code Playgroud)
然后在其中搜索应用程序jar的名称:
int jarPos = classpath.indexOf("application.jar");
Run Code Online (Sandbox Code Playgroud)
解析导致它的路径:
int jarPathPos = classpath.lastIndexOf(File.pathSeparatorChar, jarPos) + 1;
String path = classpath.substring(jarPathPos, jarPos);
Run Code Online (Sandbox Code Playgroud)
然后追加MyApp.properties.确保检查jarPos == -1,这意味着如果类路径(可能在您的开发环境中运行时)找不到jar.
对于当前工作目录:
new File(".");
Run Code Online (Sandbox Code Playgroud)
对于当前目录中名为MyApp.properties的文件:
new File(new File("."), "MyApp.properties");
Run Code Online (Sandbox Code Playgroud)
#2是"user.dir"系统属性.#3是"user.home"属性.
无论你怎么接近它,#4都有点像kludge.如果您从JAR加载的类不在系统类路径上,那么这是一种替代技术.
CodeSource src = MyClass.class.getProtectionDomain().getCodeSource();
if (src != null) {
URL url = new URL(src.getLocation(), "MyApp.properties");
...
}
else {
/* Fail... */
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21610 次 |
| 最近记录: |