zoukankan      html  css  js  c++  java
  • java json代码自动生成

    package code;

    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.LineNumberReader;
    import java.util.ArrayList;
    import java.util.List;



    public class Code {
        
        private static List<String> readFile(String filename)
        {
            List<String> fileline = new ArrayList<String>();
            
            try {
                
                FileReader in = new FileReader(filename);
                LineNumberReader reader = new LineNumberReader(in);
                
                String s = reader.readLine();
                while( s != null )
                {
                    if(!s.startsWith("#"))
                    {
                        fileline.add(s);
                    }
                    s = reader.readLine();
                }
                
                reader.close();
                in.close();
            }catch(Exception e)
            {
                e.printStackTrace();
            }
            
            return fileline;
        }

        public static void genarateCode(List<String> line)
        {
            String cr=" ";
             
            try{
              
                FileWriter fw = new FileWriter("class.java");
                for(int i = 0;i < line.size();i++)
                {
                    String [] data = line.get(i).split(",");
                    if(data[1].trim().equalsIgnoreCase("int"))
                    {
                       fw.write("@SerializedName(""+data[0]+"")"+cr);
                       fw.write("private Integer "+toLowerCaseFirst(data[0])+";"+cr);
                    }
                    else if(data[1].trim().equalsIgnoreCase("string"))
                    {
                        fw.write("@SerializedName(""+data[0]+"")"+cr);
                        fw.write("private String "+toLowerCaseFirst(data[0])+";"+cr);
                    }
                }
                
                fw.write(cr);
                fw.write(cr);
                
                for(int i = 0;i < line.size();i++)
                 {
                     String [] data = line.get(i).split(",");
                     if(data[1].trim().equalsIgnoreCase("int"))
                     {
                         fw.write("public void set"+data[0]+"(Integer value)"+cr);
                         fw.write("{"+cr);
                         fw.write("    "+toLowerCaseFirst(data[0])+"="+"value;"+cr);
                         fw.write("}"+cr);

                         fw.write("public Integer get"+data[0]+"()"+cr);
                         fw.write("{"+cr);
                         fw.write("    return "+toLowerCaseFirst(data[0])+";"+cr);
                         fw.write("}"+cr);
                     }
                     else if(data[1].trim().equalsIgnoreCase("string"))
                     {
                         fw.write("public void set"+data[0]+"(String value)"+cr);
                       fw.write("{"+cr);
                       fw.write("    "+toLowerCaseFirst(data[0])+"="+"value;"+cr);
                       fw.write("}"+cr);

                       fw.write("public String get"+data[0]+"()"+cr);
                       fw.write("{"+cr);
                       fw.write("    return "+toLowerCaseFirst(data[0])+";"+cr);
                       fw.write("}"+cr);
                     }
                 }
       
                fw.close();
            }catch(Exception e)
            {

            }
        }
        
        public static String toLowerCaseFirst(String str)
        {
            StringBuilder sb = new StringBuilder(str);
            sb.setCharAt(0, Character.toLowerCase(sb.charAt(0)));
            str = sb.toString();
            return  str;
        }
        
        public static void main(String args[])
        {
            
             List<String> fileline = readFile("field.txt");
            
              genarateCode(fileline);
              System.out.println("success!");
            
        }
        
    }



    field.txt

    Name,String
    Url,String
    Duration,String
    Desc,String

  • 相关阅读:
    编译器是C写的,包括一点C++,editor和debugger是C++写的(最早的16位编译器是纯汇编写的)
    2016 年美国大选,特朗普赢在哪儿?
    特朗普上台的原因:是经济全球化被甩出去人的反扑。但互联网时代不可阻挡,必须参与。开历史倒车是没用的,就像欧洲的羊吃人时代是一样的。信仰基督教以及美国传统价值观的那群老人,终归是要死去。
    Java 开发规约插件
    c#.net公共帮助类
    elasticsearch集群及filebeat server和logstash server
    NopCommerce源码架构
    局部函数
    C#实现人脸识别
    NET Core
  • 原文地址:https://www.cnblogs.com/rspb/p/4105695.html
Copyright © 2011-2022 走看看