<pre name="code" class="html"><pre name="code" class="html">读取资源文件db.properties里的内容:
<pre name="code" class="html"><pre name="code" class="html">如果读取资源文件的程序不是servlet的话,通过类装载器
import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import cn.itcast.dao.UserDao;public class ServletDemo12 extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {this.doPost(request, response);}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {UserDao dao=new UserDao();dao.update();}}
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
//如果读取资源文件的程序不是servlet的话,通过类装载器
public class UserDao {
public void update() throws IOException{
InputStream in=UserDao.class.getClassLoader().getResourceAsStream("db.properties");
Properties prpo=new Properties();
prpo.load(in);
System.out.println(prpo.getProperty("url"));
}
}
<pre name="code" class="html">db.properties文件如下:
url=jdbc\:mysql\://127.0.0.1/text
username=root
password=root
driver=org.gjt.mm.mysql.Driver
优化:如果有很多方法,就需要用到static方法块来读取:
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
//如果读取资源文件的程序不是servlet的话,通过类装载器
public class UserDao {
private static Properties dbconfig=new Properties();
static{
try{
InputStream in=UserDao.class.getClassLoader().getResourceAsStream("db.properties");
dbconfig.load(in);
}catch (Exception e) {
throw new ExceptionInInitializerError(e);
}
}
public void update() throws IOException{
System.out.println(dbconfig.getProperty("url"));
}
public void find(){
}
public void delete(){
}
}
以上方法虽然可以读取到数据,但无法获取更新后的数据,若想获取更新后的数据,则要使用以下方法:
public void update() throws IOException{
//可获得更新后的数据
String path=UserDao.class.getClassLoader().getResource("db.propert").getPath();
FileInputStream in=new FileInputStream(path);
Properties dbconfig=new Properties();
dbconfig.load(in);
System.out.println(dbconfig.getProperty("url"));
}