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

这篇博客主要介绍了在Java中使用FileInputStream读取properties配置文件时遇到的路径问题。作者通过示例代码展示了如何正确加载和修改properties文件,并指出FileInputStream的相对路径是以项目根目录为基础。在Web项目中,文件路径应为'WebRoot\WEB-INF\classes\a.properties',而在Java项目中,则应为'bin//a.properties'。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 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\\a.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\\a.properties");   
  •         // 将Properties集合保存到流中     
  •         prop.store(fos, "Copyright (c) Boxcode Studio");     
  •         fos.close();// 关闭流     
  •     }     



 

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值