`
kingquake21
  • 浏览: 270567 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Properties的文件装载路径问题

阅读更多
开始使用的方法:
在cn.edu.tju.test.JavaTest类中,
String fileName = "cn/edu/tju/test/myproperty.properties";
Properties prop = new Properties();
InputStream in = getClass().getClassLoader().getResourceAsStream(fileName);
如果使用ClassLoader.getResourceAsStream()来装载属性文件,相当路径是WEB-INF\classes,本例中在属性文件名前一定要加“cn/edu/tju/test/”路径。或者把myproperty.properties直接放到src下,编译后就会在WEB-INF\classes下,可以只使用文件名即可装载。

但是如果属性文件和类的关系很紧密的情况下,一般还是和类文件放在一起比较好,为了避免将属性文件的路径写死在程序里,还可以用下面的方法:
String fileName = "myproperty.properties";
Properties prop = new Properties();
InputStream in = getClass().getResourceAsStream(fileName);
从Class.java的源文件中可以发现在Class的getResourceAsStream方法中对文件路径重新做了一下处理(resolveName):
……
public InputStream getResourceAsStream(String name) {
name = resolveName(name);
ClassLoader cl = getClassLoader0();
if (cl==null) {
// A system class.
return ClassLoader.getSystemResourceAsStream(name);
}
return cl.getResourceAsStream(name);
}
……
private String resolveName(String name) {
if (name == null) {
return name;
}
if (!name.startsWith("/")) {
Class c = this;
while (c.isArray()) {
c = c.getComponentType();
}
String baseName = c.getName();
int index = baseName.lastIndexOf('.');
if (index != -1) {
name = baseName.substring(0, index).replace('.', '/')
+"/"+name;
}
} else {
name = name.substring(1);
}
return name;
}

分享到:
评论

相关推荐

    读取properties文件

    本文将深入解析“读取properties文件”的相关知识点,包括properties文件的基本概念、Java中读取properties文件的方法、以及最佳实践。 ### properties文件基本概念 properties文件是一种文本格式的配置文件,主要...

    java的property配置文件的用法.pdf

    - 原因:文件路径错误或者文件不存在"); ex.printStackTrace(); } catch (IOException ex) { System.out.println("装载文件--->失败!"); ex.printStackTrace(); } } } ``` 在上面的示例代码中,我们定义了一...

    Property配置用法.docx

    .properties文件是一种文本格式,主要用于存储程序的配置信息。文件内容以键值对的形式呈现,键和值之间用等号"="分隔,注释则以"#"开头。例如: ```properties dbPort=localhost databaseName=mydb dbUserName=...

    spring boot装载自定义yml文件

    首先,YAML文件的格式相比.properties文件更加直观,能够更好地组织和表示层次化的配置。例如,一个简单的YAML配置文件可能如下所示: ```yaml server: port: 8080 servlet: context-path: /app ``` 在Spring ...

    ibm portal 7 主题开发

    **修改主题标题**:编辑新主题文件中/metadata/localized_locale.properties文件,设置新主题的名称。 5. **上传新主题**:通过WebDAV将修改后的新主题文件上传至服务器。 2. **新建WebDAV路径和新建WAR包的方式...

    Springboot为什么加载不上application.yml的配置文件

    2. **类路径问题**: 在Java应用中,`classpath:` 前缀用于表示类路径资源。如果`application.yml`位于`resources`目录,那么正确的引用路径应为 `classpath:/application.yml`。在IDE中,如果类路径设置不正确,...

    使用Jconsole对java的内存使用情况(JVM)进行监控.doc

    在password.properties和access.properties文件中,需要配置默认的用户名和密码,以及访问权限。如果不需要用户认证,可以设置`-Dcom.sun.management.jmxremote.authenticate=false`。如果需要SSL连接,可设置`-Dcom...

    Modelsim入门

    对于VHDL项目,在编译前,需在`Project`标签页下,选中所有文件,右键选择`Properties`进行相应设置。 #### 进行仿真(装载) 完成编译后,切换至`Library`标签页,展开`work`目录,可见项目所有文件,其中“M”...

    说说在Spring中如何引用外部属性文件的方法

    Spring 提供了一个 PropertyPlaceholderConfigurer,能够在装载 Bean 时引用外部属性文件。PropertyPlaceholderConfigurer 实现了 BeanFactoryPostProcessorBean 接口,所以它是一个 Bean 工厂后处理器。下面是一个...

    PIC单片机的C语言

    针对项目文件,如“flasha.hex”,在“Node Properties”(节点属性)中选择“PICC Linker”作为工具,以管理与之相关的多个源程序。此外,可选择是否生成调试信息、地图文件(显示ROM和RAM使用情况)、错误文件以及...

    SpringMVC jaspersoft

    - **数据源配置**:在`jdbc.properties`文件中配置数据库连接信息。 - **Controller处理**:在Controller中调用Service层的方法,获取数据并传递给报表模板。 #### 二、常见问题及解决方案 - **问题1:404错误** ...

    springboot 3.0.2 自动配置(auto-configuration) 启动器(starter)保姆级教程带源码

    `AutoConfigurationImportSelector`类通过`ConfigurationMetadataReader`读取`META-INF/spring/autoconfigure-metadata.properties`文件来获取所有可能的自动配置类。然后,它使用`ConditionEvaluator`评估每个类的...

    c-5_galaxy.zip

    5. **任务规划**:对于军事或运输任务,用户可以利用模型模拟货物装载、卸载,以及不同任务下的飞行路径优化。 6. **结果分析**:STK提供丰富的可视化和分析工具,可以输出飞行轨迹图、速度时间曲线、燃料消耗图表...

    第8章PCB的设计.ppt

    对自动布线的结果进行精细化调整,优化布线路径。 8.26 设计规则检查 在设计完成后,进行DRC(Design Rule Check)检查,确保设计满足所有预设规则。 总结来说,PCB设计涉及众多步骤,从创建文件、规划工作层、...

    jvm内存参数调优

    - **-agentpath:pathname[=options]**:与-agentlib类似,但按全路径装载本地库,不再搜索`PATH`中的路径。更多细节将在后续的JVMTI部分详述。 ##### 2.3 -classpath 和 -cp - **-classpathclasspath** 或 **-...

    Java中核心注解的作用及其使用,了解Spring容器装载的过程和机制,自定义注解来实现自动配置项目依赖环境,包括mybatis、Dubbo、log4j、RabbitMQ、redis相关等自动配置

    Spring Boot的配置加载顺序是这样的:首先,它会在类路径下查找 `application.properties` 或 `application.yml` 文件,然后按顺序加载不同位置的配置文件,如工程根目录下的 `./config/` 目录和类路径下的 `/config...

    RCP中文入门教程.pdf

    - `build.properties`文件:构建插件时使用的属性文件。 #### 三、关键类详解 ##### Application类 `Application`类是RCP应用的核心,实现`IPlatformRunnable`接口,负责启动RCP应用。它创建并初始化`Workbench`...

Global site tag (gtag.js) - Google Analytics