Java程序使用属性文件的经验
2014-09-30 22:28
411 查看
Java类库(java.util.Properties)提供了读取和解析属性文件,它的行格式为name=value,例如:
MySQL.properties
user=user1
password=password1
host=localhost
Java程序可读取该属性文件来获得连接参数。
在命令行运行环境中,属性文件可通过如下方式之一被找到:
1. 属性文件位于CLASSPATH环境变量所指明的目录下
2. 在程序中使用完整路径的路径名来指定它
在Eclipse的工程中,属性文件应该存放在那里才合适呢?以下给出一个推荐做法。
1. 属性文件只被一个package 中的java源文件使用
把属性文件和java源文件放在同一目录(src/com/pkg1/test)并加入工程。build工程时,属性文件会被自动拷贝到bin/your_package目录中。
java源程序调用getResourceAsStream(MySQL.properties)。
2. 属性文件被多个package中的java源文件使用
在src目录下新建res目录,用来存放无需编译的资源。它可以看作为"precompiled class"目录。把属性文件放在res目录中。build工程时,res目录会被自动拷贝到bin目录中。
java源程序调用getResourceAsStream(/res/MySQL.properties)。
Eclipse项目的.classpath定义如下:
<classpath>
<classpathentry kind="src" path="src"/>
# 源文件根目录
<classpathentry kind="output" path="bin"/>
# .class编译输出的根目录
</classpath>
bin也是Eclipse工程运行时根目录,绝对资源路径都是以它为起点。
可参考JDK手册了解name参数格式
public InputStream getResourceAsStream(String name)
工程示例
代码实例
ReadPropsFile1.java --
ReadPropsFile2.java --
MySQL.properties
user=user1
password=password1
host=localhost
Java程序可读取该属性文件来获得连接参数。
在命令行运行环境中,属性文件可通过如下方式之一被找到:
1. 属性文件位于CLASSPATH环境变量所指明的目录下
2. 在程序中使用完整路径的路径名来指定它
在Eclipse的工程中,属性文件应该存放在那里才合适呢?以下给出一个推荐做法。
1. 属性文件只被一个package 中的java源文件使用
把属性文件和java源文件放在同一目录(src/com/pkg1/test)并加入工程。build工程时,属性文件会被自动拷贝到bin/your_package目录中。
java源程序调用getResourceAsStream(MySQL.properties)。
2. 属性文件被多个package中的java源文件使用
在src目录下新建res目录,用来存放无需编译的资源。它可以看作为"precompiled class"目录。把属性文件放在res目录中。build工程时,res目录会被自动拷贝到bin目录中。
java源程序调用getResourceAsStream(/res/MySQL.properties)。
Eclipse项目的.classpath定义如下:
<classpath>
<classpathentry kind="src" path="src"/>
# 源文件根目录
<classpathentry kind="output" path="bin"/>
# .class编译输出的根目录
</classpath>
bin也是Eclipse工程运行时根目录,绝对资源路径都是以它为起点。
可参考JDK手册了解name参数格式
public InputStream getResourceAsStream(String name)
工程示例
代码实例
ReadPropsFile1.java --
<span style="font-size:12px;">package com.pkg1.test; // This program demonstrates how to read a Java properties file to // get MySQL connection parameters. //#@ _FRAG_ import java.util.*; // need this for properties file support public class ReadPropsFile1 { public static void main (String[] args) { String url = null; String propsFile = "MySQL.properties"; Properties props = new Properties (); try { props.load (ReadPropsFile1.class.getResourceAsStream (propsFile)); } catch (Exception e) { System.err.println ("Cannot read properties file"); System.exit (1); } // construct connection URL, encoding username // and password as parameters at the end url = "jdbc:mysql://" + props.getProperty ("host") + "/cookbook" + "?user=" + props.getProperty ("user") + "&password=" + props.getProperty ("password"); System.out.println (url); } } //#@ _FRAG_</span>
ReadPropsFile2.java --
<span style="font-size:12px;">package com.pkg2.test; // This program demonstrates how to read a Java properties file to // get MySQL connection parameters. //#@ _FRAG_ import java.util.*; // need this for properties file support public class ReadPropsFile2 { public static void main (String[] args) { String url = null; String propsFile = "/res/MySQL.properties"; Properties props = new Properties (); try { props.load (ReadPropsFile2.class.getResourceAsStream (propsFile)); } catch (Exception e) { System.err.println ("Cannot read properties file"); System.exit (1); } // construct connection URL, encoding username // and password as parameters at the end url = "jdbc:mysql://" + props.getProperty ("host") + "/cookbook" + "?user=" + props.getProperty ("user") + "&password=" + props.getProperty ("password"); System.out.println (url); } } //#@ _FRAG_ </span>
相关文章推荐
- Java程序中避免使用字符串拼装SQL语句的之解决方案⑴-properties属性文件的使用
- 使用java程序读取配置文件中的相关属性值-asp.net关注
- 一个使用JAVA编写的类似按键精灵的程序,支持脚本文件编写(含源代码)
- 一个使用JAVA编写的类似按键精灵的程序,支持脚本文件编写(含源代码)
- 使用java编写程序生成loadrunner参数化文件
- JAVA程序开发小经验 - 使用ObjectStream会出现的问题
- java程序使用Exe4j生成可执行文件(做个笔记)
- 一个使用JAVA编写的类似按键精灵的程序,支持脚本文件编写(含源代码)
- 使用JAVA读写Properties属性文件
- 使用JAVA读写Properties属性文件
- 使用java的java.nio.channels.FileLock,实现程序对文件的独占读写.
- 使用JSmooth将java程序转换成windows上的.exe文件(彻底解决相对目录问题)
- 一个使用JAVA编写的类似按键精灵的程序,支持脚本文件编写(含源代码)
- 一个使用JAVA编写的类似按键精灵的程序,支持脚本文件编写(含源代码)
- 使用fat jar和exe4j把java程序打包成exe执行文件
- 使用脚本文件(jnlp)来发布Java程序
- 使用Java程序来实现HTTP文件的队列下载
- 使用脚本文件(jnlp)来发布Java程序
- Chap5:使用JNI技术实现java程序调用第三方dll(c/c++)文件的功能
- Java桌面应用安装部署、安装程序制作(exe4j + Inno Setup)——之三:使用exe4j生成EXE可执行文件