/**
* 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();
}
}
}
}
相关推荐
Map函数调用emit(key,value)遍历集合中所有的记录,将key与value传给Reduce函数进行处理。 Map函数和Reduce函数是使用Javascript编写的,并可以通过db.runCommand或mapreduce命令来执行MapReduce操作。 GridFS是...
public void insertTextByFormField(Map,String> map) map的key为表单域名称,value为要插入的文本 在多个表单域批量插入文本 public void insertTextByBookmark(String bookmarkName, String text) bookmarkName:...
2)搜索框代码(如果放在search.php相同目录下,无需修改):<form method="post" action="search.php"><input type="text" name="key" size=40 value=""> <input type="submit" value="检索">如果使用search0.php...
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 //先从...
admin_web是什么?这是一个django的自定义插件,他可以实现,对表的增删改...register(models.UserInfo, UserInfoAdmin) 用来注册表的信息# 父类 初始化数据,字典格式的 key:表的字段名,value 填写字段的中文名称。
使用下以两种方法时必须把字段设为”主键(PRIMARY KEY”或”唯一约束(UNIQUE)”。1:使用REPLACE INTO (此种方法是利用替换的方法,有点似类于先删除再插入) 代码如下: REPLACE INTO Syntax REPLACE [LOW_PRIORITY...
14.14. 批量的UPDATE和DELETE 14.15. 小技巧 & 小窍门 15. 条件查询(Criteria Queries) 15.1. 创建一个Criteria 实例 15.2. 限制结果集内容 15.3. 结果集排序 15.4. 关联 15.5. 动态关联抓取 15.6. 查询示例 15.7. ...
批量的UPDATE和DELETE 14.15. 小技巧 & 小窍门 15. 条件查询(Criteria Queries) 15.1. 创建一个Criteria 实例 15.2. 限制结果集内容 15.3. 结果集排序 15.4. 关联 15.5. 动态关联抓取 15.6. 查询示例 15.7....
14.14. 批量的UPDATE和DELETE 14.15. 小技巧 & 小窍门 15. 条件查询(Criteria Queries) 15.1. 创建一个Criteria 实例 15.2. 限制结果集内容 15.3. 结果集排序 15.4. 关联 15.5. 动态关联抓取 15.6. 查询示例...
查询语言中的替换 4.4.6. Hibernate的统计(statistics)机制 4.5. 日志 4.6. 实现NamingStrategy 4.7. XML配置文件 4.8. J2EE应用程序服务器的集成 4.8.1. 事务策略配置 4.8.2. JNDI绑定的SessionFactory ...
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绑定的...
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绑定的...
14.14. 批量的UPDATE和DELETE 14.15. 小技巧 & 小窍门 15. 条件查询(Criteria Queries) 15.1. 创建一个Criteria 实例 15.2. 限制结果集内容 15.3. 结果集排序 15.4. 关联 15.5. 动态关联抓取 15.6. 查询示例...
jQuery1.2 API 中文版折叠展开折叠全部展开全部 英文说明 核心jQuery 核心函数 jQuery(expression,[context]) jQuery(expression,[context]) 这个函数接收一个包含 CSS 选择器的字符串,然后用这个字符串去匹配一组...
22.4. 级联与未保存值(Cascades and unsaved-value) 22.5. 结论 23. 示例:Weblog 应用程序 23.1. 持久化类 23.2. Hibernate 映射 23.3. Hibernate 代码 24. 示例:复杂映射实例 24.1. Employer(雇主)/...
14.14. 批量的UPDATE和DELETE 14.15. 小技巧 & 小窍门 15. 条件查询(Criteria Queries) 15.1. 创建一个Criteria 实例 15.2. 限制结果集内容 15.3. 结果集排序 15.4. 关联 15.5. 动态关联抓取 15.6. 查询示例...
22.4. 级联与未保存值(Cascades and unsaved-value) 22.5. 结论 23. 示例:Weblog 应用程序 23.1. 持久化类 23.2. Hibernate 映射 23.3. Hibernate 代码 24. 示例:复杂映射实例 24.1. Employer(雇主)/...
14.14. 批量的UPDATE和DELETE 14.15. 小技巧 & 小窍门 15. 条件查询(Criteria Queries) 15.1. 创建一个Criteria 实例 15.2. 限制结果集内容 15.3. 结果集排序 15.4. 关联 15.5. 动态关联抓取 15.6. 查询示例...
14.14. 批量的UPDATE和DELETE 14.15. 小技巧 & 小窍门 15. 条件查询(Criteria Queries) 15.1. 创建一个Criteria 实例 15.2. 限制结果集内容 15.3. 结果集排序 15.4. 关联 15.5. 动态关联抓取 15.6. 查询示例...
14.14. 批量的UPDATE和DELETE 14.15. 小技巧 & 小窍门 15. 条件查询(Criteria Queries) 15.1. 创建一个Criteria 实例 15.2. 限制结果集内容 15.3. 结果集排序 15.4. 关联 15.5. 动态关联抓取 15.6. 查询示例 15.7. ...