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();
    }

    }
    }

  • 相关阅读:
    Java 9 揭秘(14. HTTP/2 Client API)
    Java 9 揭秘(13. Collection API 更新)
    Java 9 揭秘(12. Process API 更新)
    JAVA数组与List相互转换
    linux下开启oracle服务和开启监听
    Centos7安装Redis
    Hibernate乐观锁无法Catch到org.hibernate.StaleObjectStateException
    Eclipse远程调试Tomcat
    Centos7 使用Docker搭建Oracle测试环境
    Maven安装Oracle驱动包到本地仓库
  • 原文地址:https://www.cnblogs.com/lilefordream/p/3921560.html
Copyright © 2011-2022 走看看