java读取配置文件properties

此文是从百度上获取: 各位大虾好:最近在学习Java文件,如今项目里面有不少的硬编码的地方。我想将他们都放在Properties文件里面。可是我放上以后老是报找不到路径的错误,我把它放到了src下了。在编译的时候web-inf/classes下面也有。可是老是找不到。是否是我建的时候出问题了。我再建property文件的时候。找不到这种文件。就找了一个txt文件而后重命名了。这样能够吗? 下面是代码: init.properties文件: datasource.driverClassName=com.mysql.jdbc.Driver datasource.url=jdbc:mysql://localhost:3306/bbscs8?useUnicode=true&characterEncoding=UTF-8 datasource.username=root datasource.password=sdie?!3406 这是根目录下的测试文档: TestProperties import java.util.*; import java.io.*; import java.util.Properties; public class TestProperties {   public static void main(String args[]) throws Exception {     Properties prop = new Properties();     FileInputStream fis =       new FileInputStream("init.properties");     prop.load(fis);     prop.list(System.out);     System.out.println("\nThe foo property: " +         prop.getProperty("foo"));   } } 我想获取到用户名和密码等信息。可是ecllipse连文件都找不到。 错误: Exception in thread "main" java.io.FileNotFoundException: init.properties (系统找不到指定的文件。) at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.<init>(Unknown Source) at java.io.FileInputStream.<init>(Unknown Source) at TestProperties.main(TestProperties.java:8) 最佳答案 1.方法一(对于j2ee,要求properties文件在\WEB-INF\classes根目录下) InputStream fis =TestProperties.class.getClassLoader().getResourceAsStream("init.properties") 2.方法二(要求TestProperties和init.properties在同一目录下) InputStream fis =TestProperties.class.getResourceAsStream("init.properties") 3.方法三,对于Web工程也能够这样。 先获取ServletContext,而后 InputStream in=context.getResourceAsStream("/WEB-INF/classes/init.properties");
相关文章
相关标签/搜索