FileInputStream读取properties系统找不到指定的路径


import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.Properties;

public class PropertyEditor {  
    public static void main(String[] args) throws Exception {  
        Properties prop = new Properties();// 属性集合对象  
        FileInputStream fis = new FileInputStream("WebRoot\\WEB-INF\\classes\\prop.properties");// 属性文件输入流  
        //InputStream fis = ResourceUtil.class.getClassLoader()
        //.getResourceAsStream("tocomTDSGW.properties");

        prop.load(fis);// 将属性文件流装载到Properties对象中  
        fis.close();// 关闭流  
 
        // 获取属性值,sitename已在文件中定义  
        System.out.println("获取属性值:a=" + prop.getProperty("a"));  
        // 获取属性值,country未在文件中定义,将在此程序中返回一个默认值,但并不修改属性文件  
        System.out.println("获取属性值:b=" + prop.getProperty("b", "中国"));  
 
        // 修改sitename的属性值  
        prop.setProperty("a", "fayu");  
        // 添加一个新的属性studio  
        prop.setProperty("c", "deyu");  
        // 文件输出流  
        FileOutputStream fos = new FileOutputStream("WebRoot\\WEB-INF\\classes\\prop.properties");  
        // 将Properties集合保存到流中  
        prop.store(fos, "Copyright (c) Boxcode Studio");  
        fos.close();// 关闭流  
    }  

 

 

准备用properties文件做个配置文件,在网上当下了上面的代码,结果运行老是出错,找不到文件,于是又在网上找了关于properties文件存放位置以及FileInputStream读取文件的相关资料。FileInputStream这个类读取的相对路径针对的是项目根目录的。在web下可以参考如下:WebRoot\\WEB-INF\\classes\\prop.properties;如果是java项目,可以参考bin//prop.properties。

 

你可能感兴趣的:(java properties)