• 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(" The 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-INFclasses根目录下)
    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");
  • 相关阅读:
    Android Wifi BT的工作流程和porting(精)
    ioctl命令详解
    android 编译库过程
    git恢复repo start 后丢失的修改记录
    Android Bluetooth 分析(精)
    SDIO总线 驱动
    提取高通最新代码patch
    linux设备驱动——andriod平台wlan驱动
    推送现有git到远程服务器并创建新分支
    c++继承经典例子
  • 原文地址:https://www.cnblogs.com/xieyuan/p/3787244.html
Copyright © 2020-2023  润新知