public final class Config
{
private static String fileSeparator = System.getProperty("file.separator");
static
{
try
{
InputStream in = null;
String currentJarPath = URLDecoder.decode(Config.class.getProtectionDomain().getCodeSource().getLocation().getFile(), "UTF-8"); //获取当前Jar文件名
String path = Config.class.getResource("").getPath();
if(path.indexOf("!")!=-1)
{//在jar中
JarFile currentJar = new JarFile(currentJarPath);
JarEntry dbEntry = currentJar.getJarEntry("conf/server.properties");
if(dbEntry != null)
in = currentJar.getInputStream(dbEntry);
}
if(in == null)
{
//String loaderPath = Thread.currentThread().getContextClassLoader().getResource("").getPath();
String loaderPath = currentJarPath;
String packPath = Config.class.getPackage().toString();
packPath = packPath.replace("package ", "");
packPath = "/" + packPath.replace(".", "/");
if(!loaderPath.endsWith("/"))
loaderPath = loaderPath.substring(0, loaderPath.lastIndexOf("/")) + fileSeparator;
loaderPath = loaderPath.replace(packPath, "");
String tPath = loaderPath+"conf"+fileSeparator+"server.properties";
logger.info("Config class load server.properties, the path =" + tPath);
in =new FileInputStream(tPath);
}
Properties prop = new Properties();
prop.load(in);
}
分享到:
相关推荐
在Java中,有两种主要方式来获取Properties文件的InputStream对象,这将用于读取文件内容: 1. 使用`ClassLoader.getSystemResourceAsStream()`方法,例如: ```java InputStream inputStream = ClassLoader....
如果不能运行,将ch07文件夹下的swt.jar加入构建路径,然后在运行中的JVM参数中加入-Djava.library.path="dll所在目录的绝对路径"即可。 也可以在命令行下直接运行该程序,假设ch07文件夹放在D盘跟目录。则在cmd下...
总之,Java的`Properties`类提供了获取系统属性和管理自定义属性文件的能力,这对于编写跨平台、适应不同环境的Java应用程序至关重要。了解和熟练使用这些功能,可以帮助开发者更好地控制程序的行为并适应各种操作...
这意味着当你试图通过Java程序访问文件时,你需要基于这个根目录来构建你的文件路径,而不是基于源代码或类路径。 例如,在你的工程结构中,`xxxx.java`位于`src\come\home\basic`目录下。如果你想要从这个Java文件...
利用此对象,我们可以获取用户主目录(user.home)、Java运行环境安装目录(java.home)、操作系统名称(os.name)等信息。这些属性对于文件操作和程序配置非常有用。 例如,要想在Java中获取用户的主目录,可以使用以下...
在实际应用中,为了确保`.properties`文件能被正确加载,我们需要将其与Java源代码放在同一目录下,或者按照Java的类路径规则进行组织。当项目自动编译后,`.properties`文件会被复制到`build`目录下的相应位置。...
然后通过在Java代码中获取当前jar文件所在目录的绝对路径,结合文件名,从而实现日志输出到jar所在目录的功能。 当使用IDE(例如IntelliJ IDEA)直接运行项目时,日志文件通常会被写入到源码项目的根目录。而当打包...
"详解java配置文件的路径问题" Java 配置文件的路径问题是 Java 开发中一个常见的问题,对于配置文件的路径问题的处理直接影响...在编写 Java 程序时,使用 classpath 类文件路径可以提高程序的可维护性和可移植性。
3. **语言环境检测**:为了自动选择用户所在地区的语言,`Translater.java` 可能会获取系统默认的locale信息,并据此加载相应的资源文件。 4. **动态切换语言**:对于具有多语言切换功能的应用,`Translater.java` ...
Java中获取各种路径的基本方法包括获取当前类所在的工程路径、当前类的绝对路径、以及获取源码包下的文件路径等。以下将详细解释这些方法。 1. 获取当前类所在的工程路径 在Java中,可以通过获取当前类的Class对象...
这通常通过“File”>“Import”>“General”>“Existing Projects into Workspace”完成,选择项目所在的目录后,Eclipse 会自动识别并加载这些项目。 ### 文件操作与基本命令 - **File**:用于执行与文件相关的...
例如,我们可以创建一个名为“messages”的properties文件,其中包含如下内容: ``` greeting=Hello goodbye=Goodbye ``` 然后,为不同地区创建相应的版本,如“messages_en.properties”(英文)和“messages_zh_...
在国际化应用中,消息字符串通常包含占位符(如`{0}`、`{1}`等),这些占位符在运行时会被具体的数据替换。 例如,在资源文件`MessageResource_zh_CH.properties`中定义了如下消息: ``` login_success=\u6b22\u8...
执行打包前,建议先运行`mvn clean`命令来清理项目中的旧文件,确保构建时不会受到这些文件的影响。接着,通过执行`mvn package`命令来进行项目的打包。 打完包之后,可以在项目的target目录下找到生成的JAR文件。...
5. 反射:在运行时动态地获取类信息并操作类和对象。 6. I/O流:用于处理输入输出,如文件读写、网络通信等。 7. 注解(Annotation):用于元数据,可以用于编译时或运行时的代码处理。 总之,Java_2_5_3-源码.rar...
13. **java.specification.name** - Java运行时环境规范名称,即“Java Platform API Specification”。 14. **java.class.version** - Java类格式版本号,表示支持的Java类文件的版本。 15. **java.class.path** - ...
类没有发现异常,当Java虚拟机或ClassLoader实例试图加载某个类,但找不到相应的类时抛出的异常。 #### Try 尝试,是Java异常处理的一部分,用于指定一段可能会抛出异常的代码块。 #### Catch 捕捉,是Java异常...