您的位置:首页 > 其它

Servlet之读取资源文件

2015-10-26 16:20 211 查看
<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"));
}



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: