`
han2000lei
  • 浏览: 276533 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

java读取properties配置文件

    博客分类:
  • java
阅读更多
今天要将以前一个项目的数据连接改成从properties文件中配置。找了好久,网上也不少,可就是读取文件时总是找不到文件在哪(我放在classes目录下了)。最后终于成功,记下,以做纪念。
package com.web.connection;

import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
import java.util.logging.Level;
import java.util.logging.Logger;

public class Conn {
    private String fileName="/db.properties";//这里是指放在classes下,如果有包的话,前面加包名即可。例:/com/web/db.properties
    private String driver = "";
    private String url = "";
    private String username ="";
    private String password = "";
    Connection conn=null;
    

    public  Connection  getConn(){
        Properties p = new Properties();
		try {
			InputStream in = Conn.class.getResourceAsStream(fileName);//这里有人用new FileInputStream(fileName),不过这种方式找不到配置文件。有人说是在classes下,我调过了,不行。
		    p.load(in);
		    in.close();
		    if(p.containsKey("driver")){
		        this.driver = p.getProperty("driver");
		    }
		    if(p.containsKey("url")){
		        this.url = p.getProperty("url");
		    }
		    if(p.containsKey("user")){
		        this.username = p.getProperty("user");
		    }
		    if(p.containsKey("password")){
		        this.password = p.getProperty("password");
		    }
		} catch (IOException ex) {
		    Logger.getLogger(Conn.class.getName()).log(Level.SEVERE, null, ex);
		}
        System.out.println(p.getProperty("driver"));
       try {
            Class.forName(this.driver);
            conn = DriverManager.getConnection(this.url,this.username,this.password);
        } catch (SQLException ex) {
            ex.printStackTrace();
            System.out.print("获取连接异常");
        } catch (ClassNotFoundException ex) {
            System.out.print("加载驱动出错");
            ex.printStackTrace();;
        }
        return conn;
    }
}

网上文章常见的几种读取.properties文件的方式
1、使用java.util.Properties类的load()方法 示例:
InputStream in = lnew BufferedInputStream(new FileInputStream(name)); 
Properties p = new Properties(); 
p.load(in);


2、使用java.util.ResourceBundle类的getBundle()方法
示例:
ResourceBundle rb = ResourceBundle.getBundle(name, Locale.getDefault()); 


用ResourceBundle读取.properties文件可避免路径问题
            我在jar里读取.properties文件时,总是找不到文件路径,后来用ResourceBundle读取.properties文件即可避免路径问题,代码如下:
    

//process为文件名,切记不要加 .properties, URL是文件里的键名
      ResourceBundle bundle = ResourceBundle.getBundle("com.ihandy.smsoc.app.process");
     String s = bundle.getString("URL");
  System.out.println(s);
  pURL = s;



3、使用java.util.PropertyResourceBundle类的构造函数
示例:
InputStream in = new BufferedInputStream(new FileInputStream(name)); 
ResourceBundle rb = new PropertyResourceBundle(in); 


4、使用class变量的getResourceAsStream()方法
示例:

InputStream in = 类名.class.getResourceAsStream(name); 
Properties p = new Properties(); 
p.load(in); 

5、使用class.getClassLoader()所得到的java.lang.ClassLoader的getResourceAsStream()方法 示例:
InputStream in = 类名.class.getClassLoader().getResourceAsStream(name); 
Properties p = new Properties(); 
p.load(in); 


6、使用java.lang.ClassLoader类的getSystemResourceAsStream()静态方法 示例:
InputStream in = ClassLoader.getSystemResourceAsStream(name); 
Properties p = new Properties(); 
p.load(in); 


7、Servlet中可以使用javax.servlet.ServletContext的getResourceAsStream()方法 示例:
InputStream in = context.getResourceAsStream(path); 
Properties p = new Properties(); 
p.load(in); 
12
0
分享到:
评论
5 楼 andey007518 2014-04-01  
properties文件直接放到src路径下,
Properties p = new Properties();   

p.load(this.class.getClassLoader().getResourceAsStream("sms_config.properties")即可
4 楼 rails2010 2010-12-01  
确实存在路径的问题,在项目中使用new FileInputStream(fileName)方式 ,一直提示找不到文件
3 楼 yuankai 2009-05-04  
难道 java.util.Properties;不能用?
2 楼 toeo 2009-05-03  
需要下载jar 包.

commons-configuration-1.5.jar
1 楼 toeo 2009-05-03  
介绍一个简单的方法.使用apache的类库.

import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.PropertiesConfiguration;

PropertiesConfiguration config = new PropertiesConfiguration("file path");

config.getString("your prop name");

保存也很简单.

config.setProperty("your prop name","prop value ");

config.save();

相关推荐

    java 读取properties配置文件内容乱码

    NULL 博文链接:https://liuzidong.iteye.com/blog/776637

    Python实现读取Properties配置文件的方法

    在Python编程中,有时我们需要处理Java开发中常用的`.properties`配置文件。虽然Python标准库并未直接提供处理此类文件的模块,但我们可以自定义一个类来实现这个功能。本篇文章将详细探讨如何通过Python来读取并...

    java读取properties配置文件的方法

    Java读取Properties配置文件是Java开发中常见的任务,主要用于存储应用程序的配置参数,如数据库连接字符串、系统设置等。在Java中,我们可以使用`java.util.Properties`类来处理.properties文件。下面详细介绍两种...

    java 读取properties文件代码

    读取Properties文件是Java开发中的常见操作,特别是在需要根据配置文件动态改变程序行为的时候。下面我们将详细探讨如何在Java中读取Properties文件。 首先,你需要确保你的项目中包含了一个Properties文件,比如`...

    java读取WEB-INF或src目录下的properties配置文件

    大家都喜欢把配置文件放在src目录下,如果有10个以上的配置文件为什么不考虑在WEB-INF目录下新建一个文件夹,专门放配置文件;这样即好管理,文件安全性又高。亲问题已经解决,把源代码共享给大家,已经通过测试;...

    读取properties文件内容

    ConfigFile configfile = ConfigFile.getInstance("ipConfig123.properties"); String ip = configfile.getkeyvalue("ip"); 可以取出ipConfig123.properties 文件中IP的内容

    java读取properties文件(配置文件)

    java读取properties文件的工具类,传入配置文件名字和其中的key就可以读取

    java读取.properties配置文件的几种方法

    在Java编程中,读取`.properties`配置文件是常见的任务,这些文件通常用于存储应用程序的配置参数、系统设置等信息。下面将详细介绍几种在Java中读取`.properties`配置文件的方法。 1. 使用`java.util.Properties`...

    java读取properties文件

    NULL 博文链接:https://jeemygrow.iteye.com/blog/1162827

    java读写properties配置文件

    #### 三、读取Properties配置文件 1. **读取单个键值** 在读取配置文件时,我们首先需要创建一个`Properties`对象,并使用`load`方法加载文件。接着可以通过`getProperty`方法获取指定键对应的值。 ```java ...

    利用Java的Properties 类读取配置文件信息

    通过以上步骤,你可以使用Java的`Properties`类高效地读取、修改和保存配置文件,为你的应用程序提供灵活的配置管理。在实际项目中,你可能会将其封装到一个单独的类,如示例代码中的`PropertiesReader`,以提供更...

    java解析Properties配置文件为对象Bean

    利用java的反射解析Properties文件转成对象 /** * 解析properties文件为对象 * @param * @param propPath * @param cls * @return * @throws InstantiationException * @throws ...

    Java读取properties配置文件时,出现中文乱码的解决方法

    System.err.println("读取配置文件时发生错误:" + e.getMessage()); } return value; } public static void main(String[] args) { String configValue = getConfig("myConfigKey"); System.out.println(...

    读取properties文件返回map

    在Java编程中,`properties`文件是一种常用的配置文件格式,用于存储应用的配置参数或设置。这些文件通常以键值对的形式存在,如`key=value`。本篇将详细讲解如何在Java中读取`properties`文件并将其内容转换为`Map`...

    java读取配置文件

    最基础的方式是使用Java的I/O流来读取文本配置文件(通常是.properties格式)。例如,`java.io.FileInputStream`可以用来打开文件,然后`java.util.Properties`类可以加载并解析配置文件。以下是一个简单的示例: ...

    Java读取properties文件的三种方式

    在Java编程中,读取properties文件是常见的任务,主要用于配置应用程序的参数或环境变量。properties文件通常以键值对的形式存储数据,便于管理和修改。本文将详细介绍三种在Java中读取properties文件的方法。 1. ...

    使用Java读取XML配置文件

    使用 Java 读取 XML 配置文件 Java 语言和 XML 技术可以说是黄金组合,网上已经有很多文章介绍 XML 在电子商务中的数据交换的作用。但是在平时系统开发中,我们不一定都用到数据交换,是否无法使用 XML?当然不是...

    java对properties配置文件的读和写

    读取properties配置文件** 在Java中读取`properties`文件通常涉及以下步骤: 1.1.1 创建`Properties`对象:`Properties`类是Java提供的内置类,用于处理`properties`文件中的键值对。 ```java Properties ...

    Java读取Properties文件的六种方法

    ### Java读取Properties文件的六种方法 在Java开发中,`Properties` 文件常用于存储配置信息,如数据库连接字符串、应用配置等。正确且高效地读取这些配置文件对于程序运行至关重要。本文将详细介绍六种不同的方法...

Global site tag (gtag.js) - Google Analytics