java干货——一键导入QQ群里的QQ号(二)

腾讯很聪明,之前获取QQ群里的QQ号的方法已不能用了http://blog.csdn.net/sinat_15153911/article/details/68937169
于是群主又找了一个新方法:
http://qun.qq.com/member.html#gid=494808400
gid为Q群号
这里写图片描述

然后复制到QQ.txt文件中。格式如下:
这里写图片描述

字段分别对应如下:
序号(可不要)
Q名
Q号 性别 Q龄 加群时间 最后发言时间

java程序如下:

public static void readTxtFileForQQ3(String filePath,String search) throws Exception {
        try {
            String encoding="UTF-8";
            File file=new File(filePath);
            if(file.isFile() && file.exists()){ 
                InputStreamReader read = new InputStreamReader(
                        new FileInputStream(file),encoding);
                BufferedReader bufferedReader = new BufferedReader(read);
                String lineTxt = null;
                String qqName = "";
                while((lineTxt = bufferedReader.readLine()) != null){
                    if(!lineTxt.equals("")){
                        if(!checkNumber(lineTxt.trim())){

                            if(lineTxt.length() > 20){
                                String[] lineTxts = lineTxt.split("\\s+");
                                Connection con = dbUtil.getConnection(); 
                                String sql = "insert into qqnum2 values(?,?,?,?,?,now(),1,?)";
                                PreparedStatement pstmt = con.prepareStatement(sql);
                                //id,name,qq,sex,age,creatime,status
                                pstmt.setString(1, UUID.randomUUID().toString());
                                pstmt.setString(2, qqName);
                                pstmt.setString(3, lineTxts[0]);
                                pstmt.setString(4, lineTxts[1]);
                                pstmt.setString(5, lineTxts[2]);
                                pstmt.setString(6, search);
                                int result = pstmt.executeUpdate();
                                dbUtil.closeResources(con, pstmt, null);
                                if(result==1){
                                    System.out.println("添加成功!");
                                }else{
                                    System.out.println("添加失败!");
                                }
                            }else{
                                qqName = new String(lineTxt.getBytes("gb2312"),"gbk");
                            }
                        }
                    }
                }
                read.close();
            }else{
                throw new Exception("找不到指定的文件");
            }
        } catch (Exception e) {
            throw new Exception("读取文件内容出错");
        }
    }

解析:
if(!lineTxt.equals(“”)){ //判断这行是否非空

if(!checkNumber(lineTxt.trim())){ //判断这行是否为非数字,如果是数字,即是序号,序号不记录

if(lineTxt.length() > 20){ //然后剩下的是Q名和一大串字符串,然后判断Q名和大串字符串哪个长度大于20

String[] lineTxts = lineTxt.split(“\s+”); //大于20的则是一大串字符串,通过空格分割成Q号,性别,Q龄,后两个没什么用不做记录。

成功获取QQ号后存到数据库,然后为所欲为。。。

数据库的数据:
这里写图片描述

全CSDN的丰(好)色(se)博客,这里有书本看不到的Java技术,电影院禁播的电影,欢迎关注QQ群494808400

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值