`

使用classLoader去管理资源文件和配置文件

 
阅读更多

写代码的时候发现这段关于classLoader的代码读不懂

 

 

String templateFileName = Thread.currentThread()
			.getContextClassLoader().getResource(
				"WeeklyReportDownload_2-template.xls").getFile();

 其实就是用类加载器去管理资源文件,顺便就去学习了下

 

Demo:

 

package com.huaxia.utils.learn;

import java.io.InputStream;
import java.util.Properties;

public class ClassLoaderTest {
	public static void main(String[] args) throws Exception {
		// 从classpath根目录开始找配置文件
		InputStream is = ClassLoaderTest.class.getClassLoader()
				.getResourceAsStream("config.properties");
		Properties prop = new Properties();
		prop.load(is);
		is.close();
		System.out.println(prop.get("apple"));
	}
}

 classLoader会从classpath下去查找文件(似乎不会找子文件夹下内容),

资源文件路径如图:

 

大部分框架都是采用这种方式去管理配置文件和资源文件的

 

 

 

 

  • 大小: 14.2 KB
分享到:
评论

相关推荐

    Java加载资源文件的两种方法

    Java将配置文件当作一种资源(resource)来处理,并且提供了两个类来读取这些资源,一个是Class类,另一个是ClassLoader类。  当我们自己的程序需要处理配置文件时(比如xml文件或properties文件),通常会遇到两个...

    Spring.3.x企业应用开发实战(完整版).part2

    2.2.3 类包及Spring配置文件规划 2.3 持久层 2.3.1 建立领域对象 2.3.2 UserDao 2.3.3 LoginLogDao 2.3.4 在Spring中装配DAO 2.4 业务层 2.4.1 UserService 2.4.2 在Spring中装配Service 2.4.3 单元测试 2.5 展现层 ...

    Spring3.x企业应用开发实战(完整版) part1

    2.2.3 类包及Spring配置文件规划 2.3 持久层 2.3.1 建立领域对象 2.3.2 UserDao 2.3.3 LoginLogDao 2.3.4 在Spring中装配DAO 2.4 业务层 2.4.1 UserService 2.4.2 在Spring中装配Service 2.4.3 单元测试 2.5 展现层 ...

    Android插件框架Android-Plugin-Framework.zip

    12、需要关注PluginTest工程的ant.properties文件和project.properties文件以及custom_rules.xml文件,插件使用宿主程序共享库,以及共享库R引用,和编译时排除的功能,都在这3个配置文件中体现 暂不支持的...

    eclipse-project-loader:ClassLoder 用于Eclipse项目中资源文件的高效引用

    但是src/main/resources等资源目录只有在Eclipse项目重载时才会反映在target/classes ,所以如果在Eclipse外编辑资源文件,每次都需要重载Eclipse项目... 如果找到的 Java 类文件以外的资源位于target/classes ,...

    day020-继承加强和设计模式代码和笔记.rar

    以后配置文件都要放到项目中的一个或者几个单独的文件夹中,为了好管理。 该文件夹类型是source folder类型,源文件夹,eclipse工具会自动编译 --------------------------------------------------------------...

    java常用API[整理].pdf

    ResourceBundle 和 Properties 是 Java 中两个重要的类,ResourceBundle 用于表示资源束,Properties 用于表示属性文件。它们可以用来存储和读取配置信息。 9. Exceptions Exception 是 Java 中一个非常重要的概念...

    超级有影响力霸气的Java面试题大全文档

    EJB容器是EJB组件的代理, EJB组件由容器所创建和管理。客户通过容器来访问真正的EJB组件。 24、Static Nested Class 和 Inner Class的不同。 Static Nested Class是被声明为静态(static)的内部类,它可以不...

    总结java常用API.doc

    Properties是Java中的一种属性配置文件,提供了多种属性设置和获取方式。 9. Exceptions Exceptions是Java中的异常处理机制,提供了try-catch-finally语句和throws关键字来处理异常。 10. JDBC类库 JDBC(Java ...

    Java JDK 7学习笔记(国内第一本Java 7,前期版本累计销量5万册)

    .2.2 管理原始码与位码文档 31 2.2.1 编译程序(javac)与sourcepath 31 2.2.2 使用package管理类 33 2.2.3 使用import偷懒 36 2.3 使用ide 38 2.3.1 ide项目管理基础 38 2.3.2 使用了哪个jre 43 2.3.3...

    java 面试题 总结

    EJB容器是EJB组件的代理,EJB组件由容器所创建和管理。客户通过容器来访问真正的EJB组件。 21、Static Nested Class 和 Inner Class的不同。 Static Nested Class是被声明为静态(static)的内部类,它可以不依赖...

    Android静默安装常用工具类

    Android Resource工具类,可用于从android资源目录的raw和assets目录读取内容,如: geFileFromAssets(Context context, String fileName) 得到assets目录下某个文件内容 geFileFromRaw(Context context, int resId)...

    Java经典入门教程pdf完整版

    著和管理相关的复杂问题的体系结构。JE技术的基础就是核心Java平台或Java平台的标 准版,JEE不仅巩固了标淮版屮的诈多优点,例如“编写一次、随处运行”的特性、方便存 取数据库的 JDBC API、 CORBA技术以及能够在 ...

    JAVA核心知识点整理(有效)

    25 3:ServicorTo 和 ServicorFrom 互换................................................................................................................25 2.3.3.1. 2.4.1. 如何确定垃圾 ......................

Global site tag (gtag.js) - Google Analytics