zoukankan      html  css  js  c++  java
  • web项目中从不同的路径读取文件

    项目中的配置文件可以放在classpath下,webapp下获取其他任何一个指定的绝对地址,读取这些文件就从这三个地方去找。主要代码如下:

     1  private List<String> getPathList(String filePaht){
     2        List<String> list = new ArrayList<String>();
     3        String realPaht = "";
     4        //获取classpath路径
     5        realPaht = UserPrivServiceImpl.class.getResource("/").getPath()+ filePaht;
     6        list.add(realPaht);
     7        //获取webapp路径
     8        realPaht = servletContext.getRealPath("/") + filePaht;
     9        list.add(realPaht);
    10        //获取绝对路径
    11        list.add(filePaht);
    12        return list;
    13    }
    14 
    15 
    16 private void initPolicy(){
    17        List<String> policyPaht = getPathList(policyFile);
    18        if(policyPaht != null && policyPaht.size() > 0 ){
    19            for(String path : policyPaht){
    20                try{
    21                    initPolicy(path);
    22                    logger.info("从路径:["+path+"]找到文件policy.yml,加载成功。");
    23                    break;
    24                }catch (FileNotFoundException e) {
    25                       logger.info("从路径:["+path+"]中没找到文件policy.yml,尝试从其他加载方式。");
    26                } catch (UnsupportedEncodingException e) {
    27                     e.printStackTrace();
    28               }
    29            }
    30        }
    31    }

    参数中的filePath是在配置文件中配置的policy.yml文件路径。

    servletContext是在spring环境中自动注入的
    @Autowired
    private ServletContext servletContext;
  • 相关阅读:
    Design + Code (iOS)
    Objective-C Programming (2nd Edition)
    iOS Programming The Big Nerd Ranch Guide (4th Edition)
    反射
    面向对象
    人狗大战
    数据结构初识(三级菜单)
    面向对象(组合)
    练习
    re模块
  • 原文地址:https://www.cnblogs.com/ahang/p/5130813.html
Copyright © 2011-2022 走看看