zoukankan      html  css  js  c++  java
  • java依赖的外部文件路径的获取

    在开发阶段一直使用以下方式调试没有问题:

    
    String path = KStream104.class.getResource("/").getFile().toString();
    File database = new File(path + Constants.geoIPFile);
    
    

    但是,打包编译后,放到linux环境下,发现报空指针错误,这里的getResource("/")不再起作用了,并且返回值为null。
    后面采用了下面的方式:

    	static {
    		String path = null;
    		try {
    			URL url = KStream104.class.getResource("/");
                            
                //获取当前用户的绝对路径
    			String userdir = System.getProperty("user.dir");
    			if(url!=null){  // 先判断url
    				path = url.getFile();
    			} 
    			else if(StringUtils.isNotBlank(userdir)){  //再判断userdir
    				path = userdir.endsWith("/") ? userdir : userdir + "/";
    			} else {   //否则为空
    				path = "";
    			}
    			System.out.println("path:" + path);
    			log.info(path + Constants.geoIPFile);
    			File database = new File(path + Constants.geoIPFile);
    			reader = new DatabaseReader.Builder(database).build();
    			
    		} catch (IOException e) {
    			log.error(e.getMessage());
    		}
    	}
    
    
    
  • 相关阅读:
    交换两个变量的值的若干种方法
    排序算法之冒泡排序
    JAVA宇宙无敌复习资料
    HTML中Float和元素定位
    HTML盒子模型
    HTML表单
    HTML中Css补充资料
    HTML中Css详细介绍
    HTML表格及框架介绍
    HTML网页的基本结构及基本功能
  • 原文地址:https://www.cnblogs.com/30go/p/8891180.html
Copyright © 2011-2022 走看看