`

java配置文件读取和项目路径的多种获取方式

    博客分类:
  • java
阅读更多
一 相对路径的获得
说明:相对路径(即不写明时候到底相对谁)均可通过以下方式获得(不论是一般的java项目还是web项目)
String relativelyPath=System.getProperty("user.dir"); 
上述相对路径中,java项目中的文件是相对于项目的根目录
web项目中的文件路径视不同的web服务器不同而不同(tomcat是相对于 tomcat安装目录\bin)


二 类加载目录的获得(即当运行时某一类时获得其装载目录)
1.1)通用的方法一(不论是一般的java项目还是web项目,先定位到能看到包路径的第一级目录)

InputStream is=TestAction.class.getClassLoader().getResourceAsStream("test.txt"); 
(test.txt文件的路径为 项目名\src\test.txt;类TestAction所在包的第一级目录位于src目录下)

上式中将TestAction,test.txt替换成对应成相应的类名和文件名字即可

1.2)通用方法二 (此方法和1.1中的方法类似,不同的是此方法必须以'/'开头,参考http://riddickbryant.iteye.com/blog/436693) 
InputStream is=Test1.class.getResourceAsStream("/test.txt"); 
(test.txt文件的路径为 项目名\src\test.txt,类Test1所在包的第一级目录位于src目录下)




三 web项目根目录的获得(发布之后)
1 从servlet出发
可建立一个servlet在其的init方法中写入如下语句
ServletContext s1=this.getServletContext();
String temp=s1.getRealPath("/"); (关键) 
结果形如:D:\工具\Tomcat-6.0\webapps\002_ext\ (002_ext为项目名字)
如果是调用了s1.getRealPath("")则输出D:\工具\Tomcat-6.0\webapps\002_ext(少了一个"\")
2 从httpServletRequest出发
String cp11111=request.getSession().getServletContext().getRealPath("/");
结果形如:D:\工具\Tomcat-6.0\webapps\002_ext\
 
 
四 classpath的获取(在Eclipse中为获得src或者classes目录的路径)
方法一 Thread.currentThread().getContextClassLoader().getResource("").getPath()
 
eg: String t=Thread.currentThread().getContextClassLoader().getResource("").getPath();
System.out.println("t---"+t);
输出:t---/E:/order/002_ext/WebRoot/WEB-INF/classes/
 
 
 
方法二 JdomParse.class.getClassLoader().getResource("").getPath() (JdomParse为src某一个包中的类,下同)
eg:String p1=JdomParse.class.getClassLoader().getResource("").getPath();
System.out.println("JdomParse.class.getClassLoader().getResource--"+p1);
输出: JdomParse.class.getClassLoader().getResource--/E:/order/002_ext/WebRoot/WEB-INF/classes/
 
另外,如果想把文件放在某一包中,则可以 通过以下方式获得到文件(先定位到该包的最后一级目录)
eg String p2=JdomParse.class.getResource("").getPath(); 
System.out.println("JdomParse.class.getResource---"+p2);
输出: JdomParse.class.getResource---/E:/order/002_ext/WebRoot/WEB-INF/classes/jdom/ (JdomParse为src目录下jdom包中的类)
 
四 属性文件的读取:
方法 一
InputStream in = lnew BufferedInputStream( new FileInputStream(name));    Properties p = new Properties();   p.load(in);
 
注意路径的问题,做执行之后就可以调用p.getProperty("name")得到对应属性的值
 
方法二
Locale locale = Locale.getDefault(); 
ResourceBundle localResource = ResourceBundle.getBundle("test/propertiesTest", locale); 
String value = localResource.getString("test"); 
System.out.println("ResourceBundle: " + value);
工程src目录下propertiesTest.properties(名字后缀必须为properties)文件内容如下:
test=hello word

 

 

来自:http://blog.chinaunix.net/uid-24352482-id-3418551.html

 

分享到:
评论

相关推荐

    java读取配置文件

    如果你的项目使用了Spring框架,可以利用Spring的`Resource`接口来读取配置文件,它支持从类路径、文件系统、URL等多种来源加载资源: ```java Resource resource = new ClassPathResource("config.properties");...

    java项目中获取路径详解

    在 Java 项目中,配置文件中配置所需要的路径非常重要。可以在配置文件中配置所需要的路径,以便在项目中使用。 总结 Java 项目中获取路径非常重要。使用 `getResource` 方法可以获取相对路径,使用 `getRealPath...

    java 读取配置文件

    总之,Java提供了多种方式来读取配置文件,以适应不同的应用场景。理解并掌握这些方法对于开发高效、灵活的应用至关重要。在处理JDBC连接时,正确地获取和使用配置文件中的参数是确保数据库操作顺利进行的关键步骤。...

    ReadProperties读取java项目配置文件

    标题中的"ReadProperties读取java项目配置文件"意味着我们将讨论如何使用Java的Properties类来加载并解析`.properties`文件,以便在运行时获取这些配置信息。这通常是通过以下步骤完成的: 1. **创建Properties对象...

    java读取配置文件源代码

    在Java编程中,读取配置文件是常见的任务,它允许我们分离程序的配置信息,如数据库连接字符串、API密钥或其他动态可变的设置,从而提高代码的可维护性和灵活性。这里,我们关注的是如何使用Java来读取配置文件,这...

    java读取配置文件的实例代码

    在Java编程中,读取配置文件是常见的任务,特别是在构建可扩展和灵活的应用程序时。配置文件通常存储了应用程序的参数、数据库连接信息、API密钥等敏感数据,需要在运行时动态加载。本实例代码将展示如何使用`Class....

    java读取配置文件(axun)

    在Java编程中,读取配置文件是常见的任务,特别是在构建可扩展和可维护的应用程序时。配置文件通常用于存储应用程序的动态设置,如数据库连接字符串、API密钥、服务器地址等,这些信息需要在运行时根据环境进行调整...

    配置文件读取工具类(Java)

    以下是一个关于如何构建和使用配置文件读取工具类的详细说明。 1. **配置文件格式** 配置文件通常使用如INI、XML或JSON等易于解析的格式。在Java中,最常见的是使用.properties文件,因为它们简洁且易于处理。例如...

    Spring Boot多模块配置文件读取

    总之,Spring Boot的多模块配置文件读取策略旨在提高项目的可扩展性和可维护性。通过合理的配置文件组织和使用`@ConfigurationProperties`,我们可以有效地管理各模块的配置,同时保持代码的清晰和整洁。理解并熟练...

    java读取properties配置文件

    在Java编程中,`properties`文件是一种常用的存储配置信息的方式,它以键值对的形式组织数据,便于程序在运行时动态获取和修改配置。本文将详细介绍如何在Java中读取`properties`配置文件。 首先,我们需要了解`...

    Java 加载配置文件的方式

    在Java编程中,加载配置文件是一项常见的任务,它允许我们动态地设置应用的参数和环境,而无需修改代码。配置文件通常以.properties或.xml格式存储,包含键值对或者结构化数据,使得程序可以根据不同环境或者用户...

    java平台读写ini配置文件(可读网络配置文件)

    本文将深入探讨如何在Java中读取和写入INI配置文件,同时涵盖读取网络配置文件以及将数据存储到本地的情况。 首先,Java本身并不内置对INI文件的支持,但我们可以借助第三方库如`ini4j`来实现对INI文件的操作。`ini...

    用enum实现单例模式的方法来读取配置文件

    `Properties`类用于处理键值对,它是Java中读取配置文件的标准方式。 要获取配置文件中的数据,我们可以调用`Singleton.INSTANCE.getProperties()`。例如,如果配置文件中有`database.url`属性,我们可以通过以下...

    读取配置文件工具类.rar

    在实际开发中,为了提高代码的可复用性和灵活性,我们还可以考虑将这两个工具类整合为一个,提供通用的配置文件读取接口,通过文件扩展名或配置文件内容自动识别是`.properties`还是`.yml`格式,并进行相应的读取...

    JAVA读取配置文件源码

    首先,Java提供了多种方式来读取配置文件,包括使用`java.io`包中的`FileReader`和`BufferedReader`,或者使用`java.nio`包的`Files`类。此外,`java.util.Properties`类是处理配置文件的一种常见方法,它特别适用于...

    java读取.properties配置文件的几种方法

    总结来说,Java提供了多种方式来读取`.properties`配置文件,包括标准库中的`Properties`和`ResourceBundle`,以及NIO、Spring框架和第三方库如Apache Commons Configuration。选择哪种方式取决于你的具体需求,如...

    spring读取jar中的配置文件

    Spring支持多种方式加载配置,包括XML、Java配置类和属性文件。在处理JAR内的配置文件时,通常会使用`@PropertySource`注解来指示Spring从特定资源加载属性。例如: ```java @Configuration @PropertySource(...

    Python实现读取Properties配置文件的方法

    在Python编程中,有时我们需要处理Java开发中常用的`.properties`配置文件。虽然Python标准库并未直接提供处理此类文件...通过这种方式,你可以灵活地读取和使用Java风格的配置文件,让Python程序更加健壮和适应性强。

    封装读取配置文件

    这里采用了`getResource()`方法获取类路径下的资源文件,这是一种常见的做法,可以确保配置文件与程序一起打包部署,便于管理和查找。 #### 2. 使用HashMap缓存配置信息 为了提高性能,使用`HashMap`来缓存已经...

Global site tag (gtag.js) - Google Analytics