问题描述
packageJdb;importjava.io.*;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;importjava.util.Locale;importjava.util.Properties;importjava.sql.ResultSetMetaData;importjava.util.ResourceBundle;publicclassConnectMysql{staticStringdriver="";staticStringurl="";staticStringuser="";staticStringpassword="";staticStringdatabases="Jdb.database";//使用ResourceBundle读取配置文件static{try{ResourceBundleresources=ResourceBundle.getBundle(databases);driver=resources.getString("driver").trim();url=resources.getString("url").trim();user=resources.getString("user").trim();password=resources.getString("password").trim();}catch(Exceptione){System.out.println("属性文件"+"database.properties"+"打开失败!");e.printStackTrace();}}以上是我使用ResourceBundle来读取读取properties文件,虽然这不是一个web项目但是现在想通过读配置文件的方式来连接连接数据库编译可以通过,运行一直报错说打不开配置文件错误如下:java.util.MissingResourceException:Can'tfindbundleforbasenamesrc.database,localezh_CNatjava.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1521)atjava.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1260)atjava.util.ResourceBundle.getBundle(ResourceBundle.java:715)1521thrownewMissingResourceException("Can'tfindbundleforbasename"+baseName+",locale"+locale,baseName+"_"+locale,//className"",//keycause);1260throwMissingResourceException(baseName,locale,cacheKey.getCause());}bundle=baseBundle;}715returngetBundleImpl(baseName,Locale.getDefault(),/*mustdetermineloaderhere,elsewebreakstackinvariant*/getLoader(),Control.INSTANCE);哪里错了,请大家告知一下谢谢ps:因为发到javaweb开发里无人响应,所以发到这里来
解决方案
解决方案二:
该回复于2011-04-25 11:29:01被版主删除
解决方案三:
楼上的,什么意思?
解决方案四:
这是你的Eclips的配置的问题。
解决方案五:
引用3楼panzhixiong_cn的回复:
这是你的Eclips的配置的问题。
请问如何配置?
解决方案六:
Can'tfindbundleforbasenamesrc.database,localezh_CN明明是找不到嘛
解决方案七:
引用5楼maydie1989的回复:
Can'tfindbundleforbasenamesrc.database,localezh_CN明明是找不到嘛
我知道找不到,我想是配置文件放置的位置不对,或者其他设置的问题,我想不通啊
解决方案八:
ResourceBundle读取的是国际化资源文件后缀为properties文件的内容,一般的properties文件的读取没必要这个类,可使用下面的方式:packageutil;importjava.io.File;importjava.io.FileInputStream;importjava.io.IOException;importjava.io.InputStream;importjava.util.Properties;//单例模式实现读取***.properties文件的内容publicclassOVLoadProperties{//声明一个自己的实例privatestaticOVLoadPropertiesinstance=newOVLoadProperties();finalstaticStringfileName="/config.properties";//返回该实例publicstaticsynchronizedOVLoadPropertiesgetInstance(){returninstance;}//获取key所对应的值publicStringgetProperties(Stringkey){Propertiesp=newProperties();InputStreamis=null;try{//***.properties文件放在src目录的下边is=OVLoadProperties.class.getResourceAsStream(fileName);if(is==null)is=newFileInputStream(fileName);p.load(is);}catch(Exceptione){System.out.println("加载文件出错啦!"+e.getMessage());}finally{if(is!=null){try{is.close();}catch(IOExceptione){//TODOAuto-generatedcatchblockSystem.out.println(e.getMessage());}}}returnp.getProperty(key);}}
你的代码中文件的名字staticStringdatabases="Jdb.database";写错了吧,这个文件后缀名不是.properties
解决方案九:
引用7楼zxingchao2009的回复:
ResourceBundle读取的是国际化资源文件后缀为properties文件的内容,一般的properties文件的读取没必要这个类,可使用下面的方式:Javacodepackageutil;importjava.io.File;importjava.io.FileInputStream;importjava.io.IOException;importjava……
感谢,io的方式,我知道怎么用但是ResourceBundle也可以读取properties文件的,我想试试这个方法“Jdb.database”,Jdb是包名,database是properties文件