ClassLoader cl = Thread.currentThread().getContextClassLoader(); InputStream resourceAsStream = cl.getResourceAsStream("security" + ".properties"); Properties properties =new Properties(); try { properties.load(resourceAsStream); } catch (IOException e) { e.printStackTrace(); } System.out.println(properties); // 一般推荐用此方法 // 获取当前ClassPath的绝对URI路径 System.out.println("Thread.currentThread().getContextClassLoader():"); System.out.println(Thread.currentThread().getContextClassLoader() .getResource("")); System.out.println("---------------------------------------"); System.out.println("Test.class.getResource:"); // 获取当前类文件的URI目录 System.out.println(Test.class.getResource("")); // 获取当前的ClassPath的绝对URI路径。 System.out.println(Test.class.getResource("/")); System.out.println("---------------------------------------"); System.out.println("Test.class.getClassLoader().getResource:"); // 获取当前ClassPath的绝对URI路径 System.out .println(Test.class.getClassLoader().getResource("")); System.out.println("---------------------------------------"); // 获取当前ClassPath的绝对URI路径 System.out.println("ClassLoader.getSystemResource:"); System.out.println(ClassLoader.getSystemResource("")); System.out.println("---------------------------------------"); System.out.println("System.getProperty:"); // 对于一般项目,这是项目的根路径。对于JavaEE服务器,这可能是服务器的某个路径。 // 这个并没有统一的规范!所以,绝对不要使用“相对于当前用户目录的相对路径”。 System.out.println(System.getProperty("user.dir")); System.out.println("---------------------------------------");
java类加载器获取配置文件
最新推荐文章于 2023-10-21 23:06:15 发布
该博客探讨了Java中如何使用ClassLoader和相关方法加载资源,如`security.properties`。通过不同方式获取ClassPath的绝对URI路径,展示了在不同场景下加载资源文件的方法,并强调了在实际开发中正确引用资源路径的重要性。
摘要由CSDN通过智能技术生成