java配置文件问题

By | 12月25日
Advertisement

(一)在java project中的配置文件读取
java project项目的目录结构只有两个src和bin。src中存放的是源文件,bin中存放的是*.class的字节码文件。源文件进过编译就放进bin目录中,其中也包括没有编译的配置文件。我们需要的是对bin中的配置文件进行读取,因为项目最终打包成*.jar的就是bin目录下的文件。采用相对路劲进行读取的时候,需要确定此时相对的是哪一个基路径。其实这个基路径就是java.io默认定位到的当前用户目录("user.dir")(即工程根目录)。相对于这个路径在定位我们的配置文件。如下所示:
File file=new File("test/login.conf");
JVM就可以据"user.dir"与"test/login.conf" 得到完整的路径(即绝对路径)"D:\DecisionTree\test\login.conf",从而找到login.conf文件。
通常我们使用 “类名”.class.getClassLoader().getResource("login.conf").openStream()来加载classes目录下的配置文件。得到文件的输入流。
“类名”.class.getClassLoader().getResource("")定位到的绝对路径是WEB-INF\classes目录下。getResource(String filepath)。参数filepath是classes目录下的相对路径。
(二)在java web project中的配置文件读取
如果我们把配置文件定义在了classpath路径下。也就是WEB-INF\classes路径下,那么就可以像读取java project中的配置文件那样读取了。
如果我们把配置文件定义在了WEB-INF的直接目录下。而不是classes目录下,那么是classpath之外的路径了,通过上面的那种方式是读取不到了。这是在应用环境下,要用到ServletContext,
ServletActionContext.getServletContext().getResource("/")可以定位到当前web应用目录 如:jndi:/server/TEST/ TEST为当前的web应用系统名。getResource(String filepath) 注意其中filepath必须以“/”开始。
ServletActionContext.getServletContext().getResourceAsStream("/WEB-INF/config/login.conf");就可以得到/WEB-INF/config/login.conf文件的输入流了。

文章来源:http://cainiao-wuzhiqi.iteye.com/blog/1199566

Similar Posts:

  • 关于JAVA配置文件的小记录

    配置文件一般会为编写编程提供方便与灵活的特点,最近看tomcat源码发现了一个这样的例子,用配置文件来实现一个灵活性,修改了一下,把信息修改成中文的情况. 一段代码: package com.lr; import java.text.MessageFormat; import java.util.ResourceBundle; public class Test { private static final String LSTRING_FILE = "com.lr.test"; pr

  • 用YAML取代java配置文件

    玩过ruby 回头再看java的配置文件,是不是头大.yaml用来做配置文件简洁直观,一脚踢开xml吧. Java YAML binding: Jyaml Sample: 读取list <!---->- hello - boujour - 你好 <!---->String[] al = Yaml.loadType(new FileInputStream(new File("list.yml")), String[].class); System.out.prin

  • java配置文件的读取

    转自:http://cuisuqiang.iteye.com/blog/1457490 关于配置文件的读取,网上资料也不少,但是针对性并不是很强.大部分也是Copy,而且方式单一,下面我来总结一下关于读取Src,即class下配置文件的方式以及区别. 首先我们来定义一个工程,建立一个Servlet,请求到后台后再转向该页面.主要看Servlet代码处理部分.然后在Src下建立一个配置文件config.properties,定义一个属性name. 第一种: 类加载方式,这个在网上那可是一片的解释,

  • java 配置文件properties自动加载类

    package com.util; import java.util.HashMap; import java.util.Map; import org.apache.commons.configuration.ConfigurationException; import org.apache.commons.configuration.PropertiesConfiguration; import org.apache.commons.configuration.reloading.FileC

  • Java配置文件程序-&amp;gt;Properties类

    /* Properties是hashtable的子类. 也就是说它具备map集合的特点.而且它里面存储的键值对都是字符串. 是集合中和IO技术相结合的集合容器. 该对象的特点:可以用于键值对形式的配置文件. 那么在加载数据时,需要数据有固定格式:键=值. 练习:限制程序运行次数.当运行次数到达5次时,给出,请您注册的提示.并不再让该程序执行. */ import java.io.*; import java.util.*; class PropertiesDemo { public static

  • JAVA配置文件读取

    可以通过Commons Configuration访问存储于属性文件和XML文档中的配置信息, 依赖的包还有Commons Language, Commons Collections和Commons Logging. 1. 通过属性文件配置应用程序 属性文件作为配置文件, 读取简单, 但配置内容不灵活. 例如有配置文件config.properties如下: no=237 names=kiyho,sinkiang correct=false 可以用以下代码读取: import org.apach

  • 【关于java配置文件路径问题】

    //先演示相对路径的问题,没有以/开头就是相对路径,跟这类同一个文件下 InputStream ips = new FileInputStream("config.properties")://这时文件是放在工程与src文件同一级的 一定要记住用完整的路径,但完整的路径不是硬编码,而是运算出来的.*/ InputStream ips = new FileInputStream("G:\Users\king\eclipsespace\javaenhance\src\cn\itc

  • Linux 下 Java环境的详细信息

    先把代码贴上: 1 import java.util.*; 2 import java.util.Properties; 3 4 public class GetClassPath { 5 static Properties prop = System.getProperties(); 6 public static void main(String[] args) { 7 Enumeration<?> en = prop.propertyNames(); 8 while(en.hasMore

  • Java編程電子書籍下載

    Java編程電子書籍下載 作者: yloveme80 發表日期: 2006-02-23 08:20 文章屬性: 原創 複製鏈結 Java編程電子書籍下載 環境安裝配置: TOMCAT的配置 http://download.chinaitlab.com/soft/10791.htm JAVA配置文件編寫說明文檔 http://download.chinaitlab.com/soft/10010.htm 一步一步學會配置Kjava開發環境 http://download.chinaitlab.com

  • java资源摘录

    java资源摘录 参考网址: http://hao.jobbole.com/?catid=32&utm_source=www.importnew.com&utm_medium=topBanner&utm_content=2015.9.16 测试 更多 » Mockito 一个强大的开源Java模拟测试框架 Apache JMeter Web应用负载功能测试工具 TestNG 一个超越JUnit和NUnit的新测试框架 JUnit Java单元测试框架 PowerMock Java单

Tags: