读取指定路径的Properties文件
文件 路径 读取 指定 properties
2023-09-14 09:11:44 时间
1.读取项目内的properties文件,项目内的properties文件一般都放在resource文件夹下面,
通过getClassLoader().getResourceAsStream()来获取取InputStream。
代码如下:
Properties props = new Properties(); String PATH="jdbc.properties"; InputStream in = PropertyTest.class.getClassLoader().getResourceAsStream(PATH); props.load(in); String value=props.getProperty("user");
2.读取指定路径的properties文件,通过BufferedInputStream来获取流。这种方法,可以获取项目工程外的properties文件。
代码如下:
Properties props = new Properties(); String PATH="E:\\JavaDemo\\src\\main\\resource\\jdbc.properties"; InputStream in = new BufferedInputStream(new FileInputStream( PATH )); props.load(in); String value=props.getProperty("user");
3.常用的工具类如下所示:
public class PropertyUtil {
//将要读取的properties的文件名 private static String propertiesFileName="jdbc.properties"; private static final Logger logger = Logger.getLogger(PropertyUtil.class); private static Properties props= new Properties(); static{ logger.info("执行静态代码块loadProps(),保存在jvm中,避免多次执行。"); loadProps(); } synchronized static private void loadProps(){ logger.info("开始加载properties文件内容......."); InputStream in = null; try { // <!--第一种,通过类加载器进行获取properties文件流,路径为相对路径--> in = PropertyUtil.class.getClassLoader().getResourceAsStream(propertiesFileName); // <!--第二种,通过类进行获取properties文件流--> //in = PropertyUtil.class.getResourceAsStream("propertiesFileName"); props.load(in); } catch (FileNotFoundException e) { logger.error("properties文件未找到"); } catch (IOException e) { logger.error("出现IOException"); } finally { try { if(null != in) { in.close(); } } catch (IOException e) { logger.error("properties文件流关闭出现异常"); } } logger.info("加载properties文件内容完成..........."); } public static String getProperty(String key){ if(null == props) { loadProps(); } return props.getProperty(key); } public static String getProperty(String key, String defaultValue) { if(null == props) { loadProps(); } return props.getProperty(key, defaultValue); } }
相关文章
- 工作路径下用CMD启动fluent(相对路径读写文件),QT中QProcess调用详解及实验
- Qt对QTreeView和QFileSystemModel的使用,文件路径返回各种值
- eclipse插件SCON的SConscript文件和头文件以及C文件包含路径
- Java获取一个路径下指定后缀名的所有文件
- Maven项目读取resources下文件的路径问题(getClassLoader的作用)
- python实现下载文件路径自动添加(1)的递增路径
- Windows中目录及文件路径太长无法删除的解决方法
- python实现下载文件路径自动添加(1)的递增路径
- c++--------获取某个路径下所有文件的文件名,读写TXT文件到新的文件
- linux find xargs grep查找给定路径下目标字符串所在文件
- 配置.dockerignore文件以排除路径,避免打包进image镜像文件
- C# 打开指定路径下文件
- [转] C#2010 在TreeView控件下显示路径下所有文件和文件夹
- DL:关于深度学习常用数据集中训练好的权重文件(Deeplab v3、MobileNet、InceptionV3、VGG系列、ResNet、Mask R-CNN )下载地址集合(持续更新)
- Python语言学习:创建/删除文件/文件夹、获取当前文件/文件夹路径(系统环境路径/目录)、获取当前文件夹下的所有子文件路径等代码(os系列用法)实现之详细攻略
- 让程序在崩溃时输出Dump文件
- Linux删除以破折号开头的文件Windows在批处理文件来删除隐藏属性
- JAVA 取得当前目录的路径/Servlet/class/文件路径/web路径/url地址
- Linux内核中ideapad-laptop.c文件全解析5
- Linux下搭建File Browser文件管理系统
- Windows下,tar指令打包文件,不包含路径
- 深入浅出matplotlib(43):动画显示与gif文件输出
- Windows 10:如何关闭文件索引功能
- Linux rm -rf删除文件不释放空间的解决办法
- Java 读取shp文件,生成shp文件,通过shp文件自动建库