新人关于使用ResourceBundle读取properties的问题
package Jdb;import java.io.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Locale;
import java.util.Properties;
import java.sql.ResultSetMetaData;
import java.util.ResourceBundle;
public class ConnectMysql {
static String driver ="";
static String url = "";
static String user = "";
static String password = "";
static String databases = "Jdb.database";
//使用ResourceBundle读取配置文件
static
{
try
{
ResourceBundle resources = ResourceBundle.getBundle(databases);
driver = resources.getString("driver").trim();
url = resources.getString("url").trim();
user = resources.getString("user").trim();
password = resources.getString("password").trim();
}
catch(Exception e)
{
System.out.println("属性文件 " + "database.properties" + " 打开失败!");
e.printStackTrace();
}
}
以上是我使用ResourceBundle来读取读取properties文件,虽然这不是一个web项目
但是现在想通过读配置文件的方式来连接连接数据库
编译可以通过,运行一直报错说打不开配置文件
错误如下:
java.util.MissingResourceException: Can't find bundle for base name src.database, locale zh_CN
at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1521)
at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1260)
at java.util.ResourceBundle.getBundle(ResourceBundle.java:715)
1521 throw new MissingResourceException("Can't find bundle for base name "
+ baseName + ", locale " + locale,
baseName + "_" + locale, // className
"", // key
cause);
1260 throwMissingResourceException(baseName, locale, cacheKey.getCause());
}
bundle = baseBundle;
}
715 return getBundleImpl(baseName, Locale.getDefault(),
/* must determine loader here, else we break stack invariant */
getLoader(),
Control.INSTANCE);
哪里错了,请大家告知一下 谢谢 --------------------编程问答-------------------- --------------------编程问答-------------------- http://www.cnblogs.com/ortem/archive/2008/08/06/1262067.html(本地化资源的用法)
你去看看有没有配置好,我也刚看的。 --------------------编程问答-------------------- databases文件放在哪了?是否放到了src文件夹下? --------------------编程问答-------------------- 如果是中文环境下
Locale locale = Locale.getDefault();
ResourceBundle bundle = ResourceBundle.getBundle("Jdbdatabase", locale);
另外property的文件名称叫做:Jdbdatabase_zh_CN.properties,放到src路径下。 --------------------编程问答-------------------- --------------------编程问答-------------------- static String databases = "Jdb.database";
改成
static String databases = "\Jdb.database";试一试
你的问题是找不到这个文件。
补充:Java , Web 开发