您现在的位置是:首页 > 文章详情

一键修改配置文件

日期:2018-07-22点击:415
import java.io.File; import java.io.FileOutputStream; import java.io.FileReader; import java.io.IOException; import java.util.Arrays; import java.util.Properties; /** * @author: rongyu * @Date: 2018-07-23 14:04:29 */ public class Main { /** * 配置文件,你需要修改的键值对写入进去 */ private static String domainProperties = "A.properties"; /** * 添加文件的备注 */ private static String comments = "rongyu"; private static String projectPath = "E:\\code\\yousesky_hry_code"; public static void main(String[] args) throws IOException { traverseFolder(projectPath); } public static String getMyProperties(String myProperties) { return Main.class.getResource("/").getPath() + myProperties; } public static Properties getProperties(String propertiesPath) throws IOException { FileReader fileReader = new FileReader(propertiesPath); Properties properties = new Properties(); properties.load(fileReader); fileReader.close(); return properties; } public static Properties transformation(Properties from, Properties to) { to.stringPropertyNames().forEach( x -> { String value = from.getProperty(x); if (value != null && !"".equals(value)) to.setProperty(x, value); } ); return to; } public static void update(String path, String comments) throws IOException { String myPropertiesPath = getMyProperties(domainProperties); Properties myProperties = getProperties(myPropertiesPath); Properties targetProperties = getProperties(path); Properties transProperties = transformation(myProperties, targetProperties); transProperties.store(new FileOutputStream(path), comments); } public static void traverseFolder(String path) { File file = new File(path); if (file.exists()) { File[] files = file.listFiles(); if (null == files || files.length == 0) { return; } else { Arrays.stream(files).forEach( x -> { if (x.isDirectory()) traverseFolder(x.getAbsolutePath()); else { String name = x.getName(); if (name.contains(".")) { String substring = name.substring(name.lastIndexOf(".", name.length())); if (substring.equals(".properties")) { // TODO 替换文件 System.out.println(x.getAbsolutePath()); try { update(x.getAbsolutePath(), comments); } catch (IOException e) { System.out.println(x.getAbsolutePath() + "修改失败"); e.printStackTrace(); } } } } } ); } } else { System.out.println("文件不存在!"); } } } 
原文链接:https://yq.aliyun.com/articles/652136
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章