getter setter命名规则重定义

getter setter命名规则重定义

奋斗到了凌晨两点半终于把最近项目需要的一个需求搞定了,香港服务器租用,因为客户端与数据库之间的一个数据服务框架命名规则不符合java的命名规则,所以这里需要做一个转换,大概功能实现了,香港服务器,算法方面还有待优化。。

package readandwrite;

import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStream;import java.io.FileWriter;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.regex.Pattern;

public class ReadAndWrite {

private static BufferedReader br;private static BufferedWriter bw;

/** * @param args * @throws IOException * * 两个问题:1 javabean非规范命名 如开头大写 2 时间 Timestamp将导致的插入问题!!!!!! */public static void main(String[] args) throws IOException {File dir = new File(“d:\\test\\hibernate\\”);String newPath = “d:\\test\\hibernate_new\\”;File file2 = new File(newPath);if(!file2.exists()) {file2.mkdir();//创建文件夹}File file[] = dir.listFiles();for (int i = 0; i < file.length; i++) {if(file[i].isDirectory()) {//文件夹直接跳过continue;}String filename = file[i].getName();br = new BufferedReader(new InputStreamReader(new FileInputStream(file[i].getAbsolutePath())));File f = new File(newPath+filename);if(f.exists()){f.delete();//删除旧文件,避免重复写入}f.createNewFile();FileWriter fw = new FileWriter(f,true);bw = new BufferedWriter(fw);if(“java”.equals(exn(filename))) {//解析实体类String data = null;while((data = br.readLine())!=null){bw.write(split(data)+”\n”);bw.flush();}} else if(“xml”.equals(exn(filename))) {//解析映射文件String data = null;while((data = br.readLine())!=null){bw.write(sp2(data)+”\n”);bw.flush();}}}}/* * 获取文件扩展名 */public static String exn(String filename) {int k = filename.lastIndexOf(“.”);if(k>-1 && k<(filename.length()-1)) {return filename.substring(k+1);} else {return “”;}}

/*==============================================解析.java实体类======================================================*//* * 拆分-关键词变小写 1 * 规则:将带有驼峰格式的子串变小写 */public static String split(String s) {String data = “”;String reg = “\\s|\\.|\\,|\\;|\\(|\\)|\\{|\\}|\\\””;String[] word = s.split(reg);//java标识符 ArrayList<String> tag = new ArrayList<String>(); String[] tem = s.split(“”); // 保存标点符号 for(int i=0; i<tem.length; i++) {if(tem[i].matches(reg)) {tag.add(tem[i]);} } int k = 0; for (int i = 0; i < word.length; i++) { String fw = format(word[i]); if(i < tag.size()) {data += fw+tag.get(i); } else {data += fw; } k = i; } if(tag.size() > k) { for (int i = k+1; i < tag.size(); i++) {data += tag.get(i);} } return data;}/* * 驼峰格式子串去大写 */public static String format(String str) {String reg = “([a-z]+[A-Z][a-z]+)*”;Pattern p = Pattern.compile(reg);if(p.matcher(str).matches()) {return str.toLowerCase();}return str;}/*==============================================解析.hbm.xml映射文件======================================================*//* * 拆分-关键词变小写 2 * 将 组合 id name = “” || property name = “” 双引号中的属性值变小写 */public static String sp2(String str) {if(str.contains(“<id name”) || str.contains(“<property name”)) {return split(str);}return str;}}

posted on

,美国空间带上心灵去旅行,以平和的心态看待一切,

getter setter命名规则重定义

相关文章:

你感兴趣的文章:

标签云: