由于某种原因,我必须将*.properties文件放置在Java应用程序之外。当文件km.properties驻留在java/src/resources/km.properties代码中时,将读取文件,但是当我将同一文件放入C:\Users\abc\Desktop\km.properties 其中时,将抛出Exception: java.io.FileNotFoundException: property file 'C:\Users\abc\Desktop\km.properties' not found in the classpathException in thread "main" java.lang.NullPointerException at com.ir.Constants.<init>(Constants.java:44) at com.Constants.main(Constants.java:64)这是我的代码public class Constants { public Constants(){ System.out.println(System.getenv("km_config")); try { Properties prop = new Properties(); String propFileName = System.getenv("km_config"); inputStream = getClass().getClassLoader().getResourceAsStream(propFileName); if (inputStream != null) { prop.load(inputStream); } else { throw new FileNotFoundException("property file '" + propFileName + "' not found in the classpath"); } } catch (IOException e) { System.out.println("Exception: " + e); } catch (Exception e) { System.out.println("Exception: " + e); } finally { try { inputStream.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }public static void main(String[] args) throws Exception { Constants c = new Constants(); System.out.println(Constants.DB_PATH1); System.out.println(Constants.GIT_REPO_PATH); System.out.println(Constants.GIT_MAIN_BRANCH_NAME); System.out.println(Constants.TAGGER_PATH); }Constants.java:44 是inputStream.close();Constants.java:64 是常量c =新的Constants();请帮助我,我需要将km.properies文件放置在Java应用程序之外的任何位置命令结果echo %km_config%C:\Users\abc\Desktop\km.properties
添加回答
举报
0/150
提交
取消