Java —— 通过Properties 与 FileInputStream 类使用ini配置文件

本文介绍了一种利用INI配置文件来替代硬编码数据库连接信息的方法,并通过一个Java示例程序演示了如何从INI文件中读取MySQL数据库的连接参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用配置文件是一种成熟的技术,能在修改程序代码,只修改ini配置文件情况下实现义务修改,效果同css与html分离一样。


一、基本知识

1、ini文件:存储属性键值对,以下三个格式作用一样:

key1=value1

key2:value2

key3 :value3

2、java使用ini文件常用方法

最简单的方法是使用java.util.Properties类读取或存储ini文件中键值对。

步骤:

1)、获得Properties对象,如:Properties reader=new Properties();

2)、使用Properties对象的load(InputStream input)或load(Reader reader)方法加载ini文件。两方法差别不大,仅在于前者采用了ISO-8859-1编码。

3)、通过Properties对象的getProperty(String key)获取对应键的值。


二、简单实践

使用ini配置文件代替在代码中使用具体信息的方法访问MySQL 数据库jdbctest。

jdbctest数据库:


ini配置文件:myconfig.ini

url=jdbc:mysql://127.0.0.1:3306/jdbctest
user=root
pass=1234


java代码:UseMySQL.java

import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Properties;
    public class UseMySQL {
    private static String dbURL=null;
    private static String user=null;
    private static String pass=null;
    public static void main(String[] args) {
          try{
        <span style="white-space:pre">	</span>//1、加载驱动程序
               Class.forName("com.mysql.jdbc.Driver");
               //使用ini配置文件
               FileInputStream reader=new FileInputStream("myconfig.ini");
               Properties pro=new Properties();
               pro.load(reader);
               dbURL=pro.getProperty("url");
               user=pro.getProperty("user");
               pass=pro.getProperty("pass");
              }
          catch(Exception e)
          {
        	  System.out.print("加载驱动失败");
        	  e.printStackTrace();
           }
         try{
        	//2、获得连接对象
            // Connection connect=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/jdbctest","root","1234");
            Connection connect=DriverManager.getConnection(dbURL,user,pass);
            System.out.println("连接成功");
            //3、通过连接对象取得statement对象,用于操作数据库
            Statement stmt=connect.createStatement();
            //4、通过statement对象执行SQL语句
            stmt.executeUpdate("insert into studentinfo(name,sex) values('韦','男');");
            //5、statement返回结果集ResultSet对象,并解析
            ResultSet rs=stmt.executeQuery("SELECT * FROM studentinfo order by id");
            while (rs.next()){
            System.out.println(rs.getString("id")+'\t'+rs.getString("name")+'\t'+rs.getString("sex"));}
            }
       catch(Exception e)
        {
           System.out.println("错误");
           e.printStackTrace();}
         }
 }
结果:




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值