`
your233
  • 浏览: 273975 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

批量替换Key和value

    博客分类:
  • java
阅读更多

 /**
 * Copyright @ 2013 transfar<br>
 * All right reserved<br>
 */
package com;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Iterator;
import java.util.Map;
import java.util.Properties;
import java.util.Map.Entry;


/**
 * 将R.properties里面对应的key替换代码中的value
 * Class Name: TestMain<br>
 * Description: 类功能说明<br>
 * Sample: 该类的典型使用方法和用例<br>
 * Author: fanggt<br>
 * Date: 2013-7-2<br>
 * --------------------------------------------------<br>
 * 修改人    修改日期     修改描述<br>
 * fanggt   2013-7-2      创建<br>
 * --------------------------------------------------<br>
 * @Version  Ver1.0<br>
 */
public class TestMain {

 /**
  * 描述: <br>
  * @param args<br>
  * @throws Exception
  * @throws FileNotFoundException
  * @author:fanggt<br>
  * @date:2013-7-2<br>
  * --------------------------------------------------<br>
  * 修改人    修改日期     修改描述<br>
  * fanggt   2013-7-2      创建<br>
  * --------------------------------------------------<br>
  */
 public static void main(String[] args) throws FileNotFoundException, Exception {
  String propFile = "src/change.properties";
  Properties props = TestMain.loadR(propFile);
  File ceilFile = new File(file3);
  changeValue(ceilFile,props);
 }
 private static String file = "E:/androidWork/StartScreen/src/com/wbtech";
 private static String fileName2 = "E:/R";
 private static String file3 = "C:/Documents and Settings/Administrator/桌面/change.txt";
 
 public static Properties loadR(String propFile) throws FileNotFoundException, IOException{
  if(null == propFile){
   propFile = "src/key.properties";
  }
  Properties props = new Properties();
  props.load(new FileReader(propFile));
  return props;
 }
 public static void changeValue(File file,Map props) throws Exception{
  if(!file.exists()){
   return;
  }
  if(file.isDirectory()){
   File[] files = file.listFiles();
   if(files.length>0){
    for(File f:files){
     changeValue(f,props);
    }
   }
  }else if(file.isFile()){
   String path = file.getPath();
   BufferedReader br = new BufferedReader(new FileReader(file));
   
   String tempFileName = file.getPath()+".bak";
   File tempFile = new File(tempFileName);
   if(!tempFile.exists()){
    tempFile.createNewFile();
   }
   PrintWriter pw = new PrintWriter(tempFile,"UTF-8");
   String temp = null;
   StringBuffer buffer = new StringBuffer();
   while((temp = br.readLine())!=null){
    buffer.append(temp).append("\r\n");
   }
   String str = buffer.toString();
   Iterator it = props.entrySet().iterator();
   while(it.hasNext()){
    Map.Entry entry = (Entry) it.next();
    String key = (String) entry.getKey();
    String value = (String) entry.getValue();
    //str = str.replaceAll(value, key);
    str = str.replaceAll(key, value);
   }
   pw.write(str);
   br.close();
   pw.flush();
   pw.close();
   file.delete();
   File f = new File(path);
   tempFile.renameTo(f);
   File temp_tempFile = new File(tempFileName);
   if(temp_tempFile.exists()){
    temp_tempFile.delete();
   }
  }
 }
}

分享到:
评论

相关推荐

    mongodb-win32-x86_64-2008plus-ssl-v3.4-latest-signed.msi

    Map函数调用emit(key,value)遍历集合中所有的记录,将key与value传给Reduce函数进行处理。 Map函数和Reduce函数是使用Javascript编写的,并可以通过db.runCommand或mapreduce命令来执行MapReduce操作。 GridFS是...

    aspose.Words 实例

    public void insertTextByFormField(Map,String&gt; map) map的key为表单域名称,value为要插入的文本 在多个表单域批量插入文本 public void insertTextByBookmark(String bookmarkName, String text) bookmarkName:...

    站内全文搜索php源代码

    2)搜索框代码(如果放在search.php相同目录下,无需修改):&lt;form method="post" action="search.php"&gt;&lt;input type="text" name="key" size=40 value=""&gt; &lt;input type="submit" value="检索"&gt;如果使用search0.php...

    Redis的持久化存储redis-storage.zip

    ds_mset key value age 20 ds_mget key age ds_del key age rl_set name shenzhe //先把数据存到leveldb,再存到redis rl_get name //先尝试从redis取数据,如没取到,再尝试从redis取数据 rl_del name //先从...

    django-admin:django admin自开发插件,可以插入到其他项目中,权限和表的操作

    admin_web是什么?这是一个django的自定义插件,他可以实现,对表的增删改...register(models.UserInfo, UserInfoAdmin) 用来注册表的信息# 父类 初始化数据,字典格式的 key:表的字段名,value 填写字段的中文名称。

    分享MYSQL插入数据时忽略重复数据的方法

    使用下以两种方法时必须把字段设为”主键(PRIMARY KEY”或”唯一约束(UNIQUE)”。1:使用REPLACE INTO (此种方法是利用替换的方法,有点似类于先删除再插入) 代码如下: REPLACE INTO Syntax REPLACE [LOW_PRIORITY...

    Hibernate 中文 html 帮助文档

    14.14. 批量的UPDATE和DELETE 14.15. 小技巧 & 小窍门 15. 条件查询(Criteria Queries) 15.1. 创建一个Criteria 实例 15.2. 限制结果集内容 15.3. 结果集排序 15.4. 关联 15.5. 动态关联抓取 15.6. 查询示例 15.7. ...

    hibernate 体系结构与配置 参考文档(html)

    批量的UPDATE和DELETE 14.15. 小技巧 & 小窍门 15. 条件查询(Criteria Queries) 15.1. 创建一个Criteria 实例 15.2. 限制结果集内容 15.3. 结果集排序 15.4. 关联 15.5. 动态关联抓取 15.6. 查询示例 15.7....

    Hibernate中文详细学习文档

    14.14. 批量的UPDATE和DELETE 14.15. 小技巧 & 小窍门 15. 条件查询(Criteria Queries) 15.1. 创建一个Criteria 实例 15.2. 限制结果集内容 15.3. 结果集排序 15.4. 关联 15.5. 动态关联抓取 15.6. 查询示例...

    hibernate 框架详解

    查询语言中的替换 4.4.6. Hibernate的统计(statistics)机制 4.5. 日志 4.6. 实现NamingStrategy 4.7. XML配置文件 4.8. J2EE应用程序服务器的集成 4.8.1. 事务策略配置 4.8.2. JNDI绑定的SessionFactory ...

    最全Hibernate 参考文档

    3.4.5. 查询语言中的替换 3.4.6. Hibernate的统计(statistics)机制 3.5. 日志 3.6. 实现NamingStrategy 3.7. XML配置文件 3.8. J2EE应用程序服务器的集成 3.8.1. 事务策略配置 3.8.2. JNDI绑定的...

    Hibernate3+中文参考文档

    3.4.5. 查询语言中的替换 3.4.6. Hibernate的统计(statistics)机制 3.5. 日志 3.6. 实现NamingStrategy 3.7. XML配置文件 3.8. J2EE应用程序服务器的集成 3.8.1. 事务策略配置 3.8.2. JNDI绑定的...

    Hibernate+中文文档

    14.14. 批量的UPDATE和DELETE 14.15. 小技巧 & 小窍门 15. 条件查询(Criteria Queries) 15.1. 创建一个Criteria 实例 15.2. 限制结果集内容 15.3. 结果集排序 15.4. 关联 15.5. 动态关联抓取 15.6. 查询示例...

    jQuery完全实例.rar

    jQuery1.2 API 中文版折叠展开折叠全部展开全部 英文说明 核心jQuery 核心函数 jQuery(expression,[context]) jQuery(expression,[context]) 这个函数接收一个包含 CSS 选择器的字符串,然后用这个字符串去匹配一组...

    hibernate3.04中文文档.chm

    22.4. 级联与未保存值(Cascades and unsaved-value) 22.5. 结论 23. 示例:Weblog 应用程序 23.1. 持久化类 23.2. Hibernate 映射 23.3. Hibernate 代码 24. 示例:复杂映射实例 24.1. Employer(雇主)/...

    Hibernate_3.2.0_符合Java习惯的关系数据库持久化

    14.14. 批量的UPDATE和DELETE 14.15. 小技巧 & 小窍门 15. 条件查询(Criteria Queries) 15.1. 创建一个Criteria 实例 15.2. 限制结果集内容 15.3. 结果集排序 15.4. 关联 15.5. 动态关联抓取 15.6. 查询示例...

    Hibernate教程

    22.4. 级联与未保存值(Cascades and unsaved-value) 22.5. 结论 23. 示例:Weblog 应用程序 23.1. 持久化类 23.2. Hibernate 映射 23.3. Hibernate 代码 24. 示例:复杂映射实例 24.1. Employer(雇主)/...

    HibernateAPI中文版.chm

    14.14. 批量的UPDATE和DELETE 14.15. 小技巧 & 小窍门 15. 条件查询(Criteria Queries) 15.1. 创建一个Criteria 实例 15.2. 限制结果集内容 15.3. 结果集排序 15.4. 关联 15.5. 动态关联抓取 15.6. 查询示例...

    hibernate3.2中文文档(chm格式)

    14.14. 批量的UPDATE和DELETE 14.15. 小技巧 & 小窍门 15. 条件查询(Criteria Queries) 15.1. 创建一个Criteria 实例 15.2. 限制结果集内容 15.3. 结果集排序 15.4. 关联 15.5. 动态关联抓取 15.6. 查询示例...

    Hibernate参考文档

    14.14. 批量的UPDATE和DELETE 14.15. 小技巧 & 小窍门 15. 条件查询(Criteria Queries) 15.1. 创建一个Criteria 实例 15.2. 限制结果集内容 15.3. 结果集排序 15.4. 关联 15.5. 动态关联抓取 15.6. 查询示例 15.7. ...

Global site tag (gtag.js) - Google Analytics