博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java编译运行引用外部jar包读取json文件
阅读量:6992 次
发布时间:2019-06-27

本文共 4094 字,大约阅读时间需要 13 分钟。

hot3.png

//HanPengNewAndOldServerGoodsTypeSpendCoin.java//import java.util.HashMap;import java.util.Date;import java.util.Calendar;import java.util.ArrayList;import java.util.Iterator;import java.text.SimpleDateFormat;import java.io.FileReader;import java.io.BufferedReader;import java.io.File;import java.io.FileOutputStream;import net.sf.json.JSONArray;import net.sf.json.JSONObject;//使用jason文件public class HanPengNewAndOldServerGoodsTypeSpendCoin{    private static String createDate(){        Calendar cal = Calendar.getInstance();        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");        cal.add(Calendar.DATE,-1);        String date = sdf.format(cal.getTime());        return date;    }    //@SuppressWarnings("unchecked")    private static JSONArray getSerList(File FileSer) throws Exception{        BufferedReader br = new BufferedReader(new FileReader(FileSer));        String temp = null;        JSONArray serlist=null;        while((temp=br.readLine())!=null){            //ArrayList
 serlist = new ArrayList
(JSONArray.fromObject(temp));            serlist = JSONArray.fromObject(temp);            //System.out.println(serlist.toString());        }        System.out.println(serlist.toString());        return serlist;    }    private static void outPutMain(File FileSpend, JSONArray SerList, File FileOut, String Date) throws Exception{        String temp = null;        BufferedReader br = new BufferedReader(new FileReader(FileSpend));        HashMap
> serTypeCoin = new HashMap
>();        while((temp=br.readLine())!=null){            String [] line = temp.split("\t");            String uid = line[1];            //String str = "123456789";            String ser = uid.substring(0,uid.length()-7);            int coin = Integer.parseInt(line[4]);            String goods = line[7];            //System.out.println(ser);            //if (SerList.contains(ser)){            //    System.out.println();            //}            String type = (SerList.contains(ser))?"old":"new";            if (uid.substring(0,1).equals("g")){                //使用嵌套字典                if(serTypeCoin.get(type)==null){                    HashMap
 hm = new HashMap
();                    hm.put(goods, coin);                    //serTypeCoin.put(type,new HashMap
(){put(goods, coin);})                    serTypeCoin.put(type, hm);                }else{                    if(serTypeCoin.get(type).get(goods)==null){                        serTypeCoin.get(type).put(goods, coin);                    }else{                        serTypeCoin.get(type).put(goods, serTypeCoin.get(type).get(goods)+coin);                    }                }            }        }        if(!FileOut.exists())            FileOut.createNewFile();        FileOutputStream out = new FileOutputStream(FileOut, true);        Iterator it = serTypeCoin.keySet().iterator();        while(it.hasNext()){            String type = (String) it.next();            HashMap
 hm = (HashMap
) serTypeCoin.get(type);            Iterator 
 hmit = hm.keySet().iterator();            while(hmit.hasNext()){                String goods = hmit.next();                int coin = hm.get(goods);                StringBuffer sb = new StringBuffer();                sb.append(Date+"\t"+type+"\t"+goods+"\t"+coin+"\n");                //System.out.println(Date+"\t"+type+"\t"+goods+"\t"+coin);                out.write(sb.toString().getBytes("utf-8"));            }            System.out.println(type+":"+ serTypeCoin.get(type).size());        }    }    public static void main(String[] args) throws Exception{        String date = (args.length>=1)? args[0]:(createDate());        String superhero = "/home/data/superhero/";        String spendlogpath = superhero+"spendlog/";        String visopath = superhero+"viso_config/";        String outpath = superhero+"wang/result/";        String spendlogname =  "spendlog_"+date;        String visoser = "pub_ser_list_"+date;        String outname = "new_and_old_server_goodstype_spend_coin_"+date;        System.out.println(date);        File filespend = new File(spendlogpath+spendlogname);        File fileser = new File(visopath+visoser);        File fileout = new File(outpath+outname);        JSONArray serList = getSerList(fileser);        outPutMain(filespend, serList, fileout, date);    }}

在linux 环境下且需要引入外部jar包时进行编译代码的命令范例:

javac -classpath /home/data/superhero/wang/myjlib/json-lib-2.4-jdk15.jar \ HanPengNewAndOldServerGoodsTypeSpendCoin.java

编译后运行java的命令范例为:

java -Djava.ext.dirs=/home/data/superhero/wang/myjlib HanPengNewAndOldServerGoodsTypeSpendCoin

注:  参数    -Djava.ext.dirs=/目录  只在 jdk 1.6版本之后的才可用。 其中   目录,如范例中 \ /home/data/superhero/wang/myjlib 为存放外部jar 包的地址。

转载于:https://my.oschina.net/lCQ3FC3/blog/645051

你可能感兴趣的文章
[BZOJ 1066][SCOI2007]蜥蜴(网络流)
查看>>
【NOIP】提高组2015 运输计划
查看>>
node + express + mysql 搭建后台
查看>>
Vue 动态添加路由及生成菜单
查看>>
小猿圈总结2019年编程语言前景
查看>>
字符串二:字符串的排列
查看>>
Apache httpd 配置cgi
查看>>
网络编程
查看>>
Codeforces 801B - Valued Keys
查看>>
Codeforces 832D - Misha, Grisha and Underground
查看>>
Project Euler 66: Diophantine equation
查看>>
Zookeeper
查看>>
C#网络编程概述 二
查看>>
修改Eclipse的EasyExplore插件的键盘快捷键
查看>>
关于rpm包的安装卸载等
查看>>
nginx 匹配顺序
查看>>
关于项目开发中涉及到输入表情的解决方案
查看>>
SQL Server表的创建及索引的控制
查看>>
Java
查看>>
MYSQL 主从复制(NIOT)
查看>>