zoukankan      html  css  js  c++  java
  • java web项目中 读取properties 路径的问题

     可以先获取项目的classPath 

    String classPath = this.getClass().getResource("/").getPath();//获取classPath(部署到tomcat的路径上) 

    我的为/D:/apache-tomcat-6.0.29/webapps/demo/WEB-INF/classes/  在连接下面的路径即可

    代码如下:

    package readproperties;

    import java.io.BufferedInputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.Writer;
    import java.util.Enumeration;
    import java.util.Properties;


    public class readProperties {
    public static void main(String[] args) {
    readProperty r = new readProperty();
    r.read();
    }


    public void read(){
    readProperty r = new readProperty();
    r.read();
    r.add();
    }

    }

    class readProperty{
    public void read(){
    //readProperties rp = new readProperties();
    //获取classpath
    String classPath = this.getClass().getResource("/").getPath();//获取classPath(部署到tomcat的路径上)
    String filepath = classPath+"readProperties/test.properties";
    Properties p = new Properties();
    try {
    InputStream in = new BufferedInputStream(new FileInputStream(filepath));
    //InputStream in = this.getClass().getClassLoader().getResourceAsStream("test.properties");
    p.load(in);
    //读取单个的信息


    String value = p.getProperty("sex");
    System.out.println(value);

    //读取所有的信息
    Enumeration<?> en = p.propertyNames();
    while(en.hasMoreElements()){
    String key = (String)en.nextElement();
    System.out.println(key+"==="+p.getProperty(key));
    }
    } catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }



    public void add(){
    String classPath = this.getClass().getResource("/").getPath();
    String filepath = classPath+"readProperties/test.properties";
    Properties p = new Properties();
    InputStream in; //
    try {
    in = new BufferedInputStream(new FileInputStream(filepath));
    p.load(in);
    //FileOutputStream out = new FileOutputStream(new File(filepath));

    Writer w = new FileWriter(new File(filepath));

    p.setProperty("key2", "value2");
    p.setProperty("habbit2", "ball2");
    //以适合使用 load 方法加载到 Properties 表中的格式,
    //将此 Properties 表中的属性列表(键和元素对)写入输出流
    p.store(w, "");

    } catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }

    }
    }

  • 相关阅读:
    Atlas
    MHA高可用
    Mycat 读写分离
    数据库 基于GTID主从复制
    DHCP服务
    python垃圾回收机制
    深拷贝、浅拷贝、引用(总结)
    python内存管理机制
    web安全-横向越权与纵向越权
    登录功能SQL注入
  • 原文地址:https://www.cnblogs.com/lilefordream/p/3921560.html
Copyright © 2011-2022 走看看