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);
哪里错了,请大家告知一下 谢谢
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);
哪里错了,请大家告知一下 谢谢
你去看看有没有配置好,我也刚看的。
Locale locale = Locale.getDefault();
ResourceBundle bundle = ResourceBundle.getBundle("Jdbdatabase", locale);另外property的文件名称叫做:Jdbdatabase_zh_CN.properties,放到src路径下。
改成
static String databases = "\Jdb.database";试一试你的问题是找不到这个文件。