获取位于WebContent/file文件夹下的address.properties文件的内容的三种方式

 1 package com.yxfyg.servlet;
 2 
 3 import java.io.FileInputStream;
 4 import java.io.IOException;
 5 import java.io.InputStream;
 6 import java.util.Properties;
 7 
 8 import javax.servlet.ServletContext;
 9 import javax.servlet.ServletException;
10 import javax.servlet.http.HttpServlet;
11 import javax.servlet.http.HttpServletRequest;
12 import javax.servlet.http.HttpServletResponse;
13 
14 public class Servlet03 extends HttpServlet{
15 
16     @Override
17     protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
18         ServletContext context = getServletContext();
19         Properties properties = new Properties();
20         InputStream is = null;
21         //读取配置文件的三种方法(注意第三种方式相对路径相对的参照物和一二两种方式不同)
22         //第一种:通过ServletContext对象的getRealPath方法获取配置文件在Tomcat中的真实路径,然后转化为InputStream流
23         //String path = context.getRealPath("file/address.properties");
24         //is = new FileInputStream(path);
25         //第二种:通过ServletContext对象的getResourceAsStream方法直接将配置文件转化为流
26         //is = context.getResourceAsStream("file/address.properties");
27         //第三种:通过类加载器将配置文件转化为流
28         is = this.getClass().getClassLoader().getResourceAsStream("../../file/address.properties");
29         properties.load(is);
30         String address = properties.getProperty("address");
31         System.out.println("address:" + address);
32     }
33     
34     @Override
35     protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
36         doGet(req, resp);
37     }
38     
39 }

 

posted @ 2020-04-28 11:30  yxfyg  阅读(363)  评论(0)    收藏  举报