通常,在实际项目中,为了便于配置管理,我们需要将一些配置管理信息存储在.properties文件中,然后直接从中读取,这样就避免了很多硬编码。下面,通过一个例子,详细讲解如何读取.properties文件的数据。
1.建立一个包config,专门存放.properties等配置文件,在config包下建一个文件a.properties,为了便于测试,在a.properties下添加如下信息:
name=kaka
age=28
2.建立一个包prop,用来测试。在prop包下建立LoadProp.java文件。
3.有很多方法来读取.properties文件,现将主要方法罗列出来:
a.通过class的getResourceAsStream()方法来读取
package prop;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
public class LoadProp {
public static void main(String[] args) {
LoadProp loadProp = new LoadProp();
InputStream in = loadProp.getClass().getResourceAsStream("/config/a.properties");
Properties prop = new Properties();
try {
prop.load(in);
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(prop.getProperty("name", "none"));
System.out.println(prop.getProperty("age", "none"));
}
}
一定要注意的是,class里的getResourceAsStream()方法里参数的类路径一定要在前面加上"/",否则会报错
b.使用class的getClassLoader()方法所得的ClassLoader的getResourceAsStream()来读取 package prop;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
public class LoadProp {
public static void main(String[] args) {
LoadProp loadProp = new LoadProp();
InputStream in = loadProp.getClass().getClassLoader().getResourceAsStream("config/a.properties");
Properties prop = new Properties();
try {
prop.load(in);
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(prop.getProperty("name", "none"));
System.out.println(prop.getProperty("age", "none"));
}
}
ClassLoader的getResourceAsStream()方法与Class的getResourceAsStream()方法有点区别,在这里一定不要在类路径前面加上"/",否则会报错,是不是很奇怪。
c.使用ResourceBundle来读取
package prop;
import java.util.ResourceBundle;
public class LoadProp {
public static void main(String[] args) {
ResourceBundle rb = ResourceBundle.getBundle("config/a");
System.out.println(rb.getString("name"));
System.out.println(rb.getString("age"));
}
}
注意,getBundle()方法里的参数,是baseName,不要把后缀名写出来,并且不要加"/"。
好了,这是读取.properties文件的几种主要方法,还有其他的方法,基本上都大同小异。另外,在Servlet中可以使用javax.servlet.ServletContext的getResourceAsStream()方法来读取.properties文件,这里就不详述了。
分享到:
相关推荐
// 指定.properties文件的路径 String filePath = "config.properties"; Properties prop = new Properties(); try { // 使用FileInputStream打开文件 FileInputStream fis = new FileInputStream(filePath);...
// 加载.properties文件 props.load(in); // 获取属性值 String dbUrl = props.getProperty("db.url"); System.out.println("Database URL: " + dbUrl); } catch (IOException e) { e.printStackTrace(); } ...
在Java编程中,读取`.properties`文件是一个常见的任务,这些文件通常用于存储配置信息,如数据库连接字符串、系统参数等。`.properties`文件是一种基于键值对的文本格式,易于理解和编辑。在这个场景中,我们将探讨...
在Java编程中,读写`.properties`文件是一个常见的任务,这些文件通常用于存储配置信息、设置或环境变量。本文将深入探讨如何在Java中高效地处理`.properties`文件,包括读取、写入以及更新其内容。我们将参考提供的...
在Java编程中,读取`.properties`配置文件是常见的任务,这些文件通常用于存储应用程序的配置参数、系统设置等信息。下面将详细介绍几种在Java中读取`.properties`配置文件的方法。 1. 使用`java.util.Properties`...
Java提供了内置的`Properties`类来方便地读取和写入这些配置文件,使得在程序中动态访问这些设置变得简单。 首先,我们需要创建`.properties`文件。例如,我们可以创建一个名为`config.properties`的文件,内容如下...
读取Properties文件是Java开发中的常见操作,特别是在需要根据配置文件动态改变程序行为的时候。下面我们将详细探讨如何在Java中读取Properties文件。 首先,你需要确保你的项目中包含了一个Properties文件,比如`...
本篇文章将深入探讨如何解决Java读写.properties文件时的中文乱码问题。 首先,了解.properties文件的特性。这种文件的默认编码通常是ISO-8859-1,它不支持中文字符。因此,当文件中含有中文时,必须明确指定读写时...
在JavaScript环境中,与Java或服务器端语言不同,我们通常无法直接读取.properties文件,因为浏览器安全限制禁止了这种跨域请求。然而,为了在前端实现国际化(i18n)功能,有时候我们需要在JavaScript文件中读取...
在JavaScript(JS)环境中,读取.properties文件通常用于处理配置数据或者本地化文本。这些文件在Java开发中广泛使用,但JavaScript同样可以借助一些库或技术来读取它们。下面我们将详细探讨如何在JavaScript中实现...
首先,.properties文件是Java平台用于存储配置信息或文本资源的标准格式,特别适用于存储国际化字符串。这些文件通常包含键值对,其中键是标识符,值是对应的字符串。例如,键`greeting`可能对应值`你好,世界!`。...
总结一下,处理Java中的Properties文件时,关键是正确指定文件路径,以及在写入和读取时妥善管理文件流。确保关闭流并根据需要刷新,以避免数据丢失或未更新的问题。通过学习和实践这些解决方案,你将在Java应用开发...
在Python编程中,有时我们需要处理Java开发中常用的`.properties`配置文件。虽然Python标准库并未直接提供处理此类文件的模块,但我们可以自定义一个类来实现这个功能。本篇文章将详细探讨如何通过Python来读取并...
为了确保Java读取`.properties`文件时正确解析UTF-8编码,你可以在文件开头添加以下注释: ``` # -*- coding: utf-8 -*- ``` 这行注释告诉Java解释器文件使用的是UTF-8编码,但这只对使用某些编辑器(如Eclipse)...
在Java中,我们可以使用`java.util.Properties`类来读取、写入和修改`.properties`文件。 #### 使用`Properties`类读取 以下代码展示了如何加载和读取`.properties`文件: ```java import java.io.FileInputStream...
在Java代码中,首先需要导入`java.util.Properties`和`java.io.*`等相关的类库,以便进行读写Properties文件的操作。 2. **加载Properties文件** 使用`Properties`类的`load()`方法加载Properties文件。这个方法...
在Java编程中,读取工程下特定类型的文件,如`.properties`文件,是常见的任务,这类文件常用于存储配置信息。本文将详细讲解如何在Java中读取`.properties`文件,以及相关的源码分析和工具使用。 首先,`....
本篇文章将深入探讨如何在Java中读取`properties`文件,无需依赖任何第三方库。 首先,我们需要了解Java的标准库中提供的`java.util.Properties`类。这个类提供了一种存储和加载属性列表的方法,它能够处理`....
1. **properties文件结构** `properties`文件的结构非常简单,每行代表一个键值对,键和值之间用等号`=`或冒号`:`分隔。例如: ``` username=admin password=123456 database.url=jdbc:mysql://localhost:3306/...