我在jar里读取.properties文件时,总是找不到文件路径,后来用ResourceBundle读取.properties文件即可避免路径问题,代码如下:
//process为文件名,切记不要加 .properties, URL是文件里的键名
ResourceBundle bundle = ResourceBundle.getBundle("com.ihandy.smsoc.app.process"); String url = bundle.getString("URL");
ResourceBundle rs = ResourceBundle.getBundle("org.hello");//这里说明,hello文件就是在于classpath底下的,org包底下有这个文件hello.properties~
示例
props = new Properties();
props.load(new FileInputStream("src/conf/msf.properties"));//在工程底下src 目录的conf目录下
System.out.println(System.getProperty("user.dir")); //这个是去工程的绝对路径的
System.out.println(Thread.currentThread().getContextClassLoader().getResource(""));
//这个是去当前classpath的uri的!
new Properties().load(new FileInputStream("test.properties"));//这里说明test文件在工程的跟目录下!
new Properties().load(new FileInputStream("test/test.properties"));//说明,在工程底下的test的文件夹底下的文件test.properties!
相关推荐
`ResourceBundle`是用于国际化和本地化资源的工具,可以通过`getBundle()`方法加载Properties文件。例如: ```java String name = "config"; ResourceBundle rb = ResourceBundle.getBundle(name, Locale.get...
在上面的示例中,我们直接使用了文件路径来读取资源文件。但在实际开发中,特别是在Maven项目中,更推荐使用`Class.getResourceAsStream`或`ResourceBundle.getBundle`方法来定位资源文件。例如: ```java ...
3. 加载XML文件:在代码中使用`ResourceBundle.getBundle()`方法,传入自定义的ResourceBundle类名和XML文件路径,系统会自动调用自定义的ResourceBundle子类来加载资源。 相比于传统的.properties文件,Xml ...
1. 资源包(Resource Bundle):在 Java 中,资源包是一个包含特定语言版本文本的类路径下的 `.properties` 文件。例如,`messages_en.properties` 用于英语,`messages_de.properties` 用于德语。 2. 键(Key)与...
这可以通过文件路径或类路径下的资源名称来完成。在给定的代码示例中,通过类路径引用了一个名为`TestProperties`的properties文件: ```java String resourceFile = "com.test.properties.TestProperties"; ``` #...
9. **编码与乱码问题**:确保所有.properties文件使用正确的字符编码(通常为UTF-8),以避免乱码问题。 10. **测试与调试**:在开发过程中,使用多种语言环境进行测试,确保每个语言版本的程序都能正常工作。 这...
ResourceBundle bundle = ResourceBundle.getBundle("config"); String dbUrl = bundle.getString("db.url"); ``` 3. **使用`org.apache.commons.configuration`库** Apache Commons Configuration库提供了一种...
Java 操作Properties配置文件详解 Properties 类是 Java 中的一个基本类,用于处理配置文件,今天我们来详细介绍 Java 操作 ...因此,在使用 Properties 配置文件时,需要注意配置文件的路径问题,以免出现错误。
ResourceBundle rb = ResourceBundle.getBundle(name, Locale.getDefault()); ``` 这种方法通常用于多语言支持的系统中,可以方便地切换语言环境而无需修改代码。 ### 3. 使用`java.util.PropertyResourceBundle` ...
ResourceBundle resourceBundle = ResourceBundle.getBundle(bundleName, Locale.getDefault()); System.out.println("Read properties from bundle: " + resourceBundle); } } ``` #### 3. 使用`java.util....
当需要获取资源时,开发者可以通过 `ResourceBundle.getBundle()` 方法传入特定的语言环境信息,加载相应的资源文件。例如: ```java ResourceBundle bundle = ResourceBundle.getBundle("MyResources", new Locale...
ResourceBundle rs = ResourceBundle.getBundle("some.pkg.resource"); String value = rs.getString("key"); ``` 2. **从Properties对象读取信息** - `getProperty(String key)`方法用来从`Properties`对象...
这里,我们使用`Files.newBufferedReader()`从文件路径创建一个`BufferedReader`,然后加载到`Properties`对象中。 4. 使用Spring框架 如果你的项目使用了Spring框架,可以利用其强大的IoC容器来读取配置文件。 ...
每种方法都有其适用场景,例如,第4、5、6种方法适合于`.properties`文件位于类路径中的情况,而第1和第2种方法适用于文件在文件系统中的情况。在Web应用中,第7种方法是最佳选择。理解并掌握这些方法,可以灵活地在...
ResourceBundle rb = ResourceBundle.getBundle("config", Locale.getDefault()); String value = rb.getString("key"); ``` 3. **使用Class.getResource()和Class.getResourceAsStream()** 这种方法适用于配置...
在使用这些方法时,关键的问题往往是配置文件的路径。如果配置文件与源代码在同一包下,我们需要使用包名限定路径,例如`com/test/config/config.properties`。如果配置文件位于`src`目录下,可以直接使用文件名,如...
- **用途**:通过Java标准库提供的方法来拼接文件路径。 - **示例**: ```java File file = new File("path/to/file"); String canonicalPath = file.getCanonicalPath(); // 获取规范化路径 String classPath...
ResourceBundle bundle = ResourceBundle.getBundle("messages", Locale.getDefault()); String message = bundle.getString("key"); ``` 5. **工具类封装** - 为了代码的可维护性和可重用性,可以创建一个工具...
ResourceBundle bundle = ResourceBundle.getBundle("config"); Enumeration<String> keys = bundle.getKeys(); while (keys.hasMoreElements()) { String key = keys.nextElement(); String value = bundle....
然后,使用`ResourceBundle.getBundle()`方法加载对应的资源文件。这些资源文件通常是`.properties`文件,其中包含翻译好的文本。 ```java ResourceBundle rb = ResourceBundle.getBundle("res.MessagesBundle", ...