阿郎的技術(shù)搏客

          成長軌跡

          根據(jù)手機(jī)查詢歸屬地的批處理程序

          import java.sql.*;
          import java.io.*;
          import java.util.logging.Logger;
          class Mobile_area
          {
           public static void main(String[] args)
           {
               try
            {
            String address = "jdbc:odbc:mobile_area";
             //驅(qū)動(dòng)類型+目標(biāo)數(shù)據(jù)庫ip+數(shù)據(jù)庫端口
            
            try {
               Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
               System.out.println("已經(jīng)成功連接手機(jī)歸屬地?cái)?shù)據(jù)庫。");}
            catch (ClassNotFoundException cnfe) {
               System.out.println("連接手機(jī)歸屬地?cái)?shù)據(jù)庫失敗!請參考‘readme.txt’文件的描述進(jìn)行配置!");}
            String user="sa";//數(shù)據(jù)庫用戶密碼
            String passwd="";//口令
            String database = "mobilezip";//目標(biāo)數(shù)據(jù)庫
            Logger log = Logger.getLogger("Mobile_area");
            //if (log==null) log= Logger("Mobile_area","mobile_area.log");
            Connection con = DriverManager.getConnection(address,user,passwd);//建立鏈接
            con.setCatalog(database);//確定目標(biāo)數(shù)據(jù)庫
            Statement smt =con.createStatement();
            Statement insert_smt =con.createStatement();
            Statement insert_smt_pre =con.createStatement();

            String selCode = "";//查詢語句
            String import_file="mobile.txt";
            String mobile_pre="";
            String mobile_area="";
            String city="";
            String privince="";
            String mobile_num;
            ResultSet res,rs;

            System.out.println("提示:您需要處理的文件必須放在應(yīng)用程序所在的目錄中,否則無法處理");
            System.out.println("      進(jìn)度狀態(tài)的含義: '.'代表當(dāng)前的手機(jī)號碼已經(jīng)處理過;'0'代表成功查找并插入該手機(jī)號碼的歸屬地信息;'x'代表處理失敗");
            System.out.println("請您輸入需要處理的文件名稱:");
               DataInputStream inputFilename =
                new DataInputStream(
                  new BufferedInputStream(System.in));
               try {
            String tmp="";
                  if((tmp = inputFilename.readLine()).length()>0) import_file =tmp ;
                  System.out.println("您需要處理的文件名為:"+import_file+",處理即將進(jìn)行......");
               } catch(IOException e) {
                  System.out.println("您輸入的文件異常!請檢查您指定的文件是否當(dāng)前的目錄存在。");
               }
           
            System.out.println("如您沒有輸入需要處理的文件,默認(rèn)的處理文件名稱為:"+import_file);

               DataInputStream in =
                  new DataInputStream(
                    new BufferedInputStream(
                      new FileInputStream(import_file)));
                String s, s2 = new String();

             System.out.println("|手機(jī)號碼\t|手機(jī)區(qū)段\t|手機(jī)區(qū)號\t|城市\(zhòng)t|省市|");//輸出此條記錄的查詢結(jié)果
             int i=0;
             String insert_sql="";
                while((s = in.readLine())!= null)
              {  
               mobile_num=s;
               if(s==null) s="";
               if(s.length()>10)
                 s=s.substring(0,7);
               else
              s="88888888888";
                  selCode="SELECT Mobile_area.mobile, Mobile_area.zip, Mobile_area.city, Mobile_area.state FROM Mobile_area WHERE ((Mobile_area.mobile)="+ s +")";
                     //System.out.println(selCode);
               res = smt.executeQuery(selCode);//結(jié)果集
                     if(res.next())
                    {    //從第一條往后依次取結(jié)果集中的記錄

                          mobile_pre =  res.getString(1);//等同rs.getString("userId"),即第一個(gè)字段數(shù)據(jù)
                          mobile_area = res.getString(2);//同上,第二個(gè)字段,全部取其為String類型
                          city =  res.getString(3);//等同rs.getString("userId"),即第一個(gè)字段數(shù)據(jù)
                          privince = res.getString(4);//同上,第二個(gè)字段,全部取其為String類型
                          //若是中文字段,一般需要轉(zhuǎn)碼
                          //userName = new String(userName.getBytes("ISO-8859-1"),"gb2312");
                          if(i<=100)
                          System.out.println("|"+mobile_num+"\t|"+mobile_pre+"\t|"+mobile_area+"\t|"+city+"\t|"+privince+"|");//輸出此條記錄的查詢結(jié)果
              //log.info("|"+mobile_num+"\t|"+mobile_pre+"\t|"+mobile_area+"\t|"+city+"\t|"+privince+"|") ;

              String insert_sql_pre="select count(mobile_num)  from mobile_area_insert where mobile_num='"+mobile_num+"'";
                          rs=insert_smt_pre.executeQuery(insert_sql_pre);
              int rcount=0;
              if(rs.next()){
                           rcount=rs.getInt(1);}
                          rs.close();//釋放資源
              if(rcount==0)
              {
              insert_sql="insert into mobile_area_insert(mobile_num,mobile,zip,city,state) values('"+mobile_num+"','"+mobile_pre+"','"+mobile_area+"','"+city+"','"+privince+"')";
                          int j=insert_smt_pre.executeUpdate(insert_sql);
              if(i>100)
               {
                if(j>0) System.out.print("0");
                else System.out.print("x");
                if(i%50==0) System.out.println(i);
               }
              }
              else
              {        if(i>100){
                    System.out.print(".");
                 if(i%50==0) System.out.println(i); }
              }
              i++;
                       }
              res.close();//釋放資源
                 }
              
            System.out.println("\t" + i +"行已經(jīng)處理!"); System.out.println("=========================end=========================");//輸出此條記錄的查詢結(jié)果
             in.close();
             smt.close();
             insert_smt.close();
             insert_smt_pre.close();
             con.close();
            }
            catch (Exception e)
            {e.printStackTrace();}
           }
          }

          posted on 2007-05-11 18:02 alone 閱讀(750) 評論(1)  編輯  收藏

          Feedback

          # re: 根據(jù)手機(jī)查詢歸屬地的批處理程序 2007-07-06 16:34 ijat

          gfhgfhgh  回復(fù)  更多評論   



          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 石河子市| 安乡县| 陆河县| 凉山| 萨迦县| 南安市| 台安县| 神农架林区| 西安市| 同江市| 阳春市| 临夏市| 平安县| 蓝田县| 乌鲁木齐市| 林甸县| 闵行区| 沈丘县| 当涂县| 定远县| 监利县| 汝州市| 邓州市| 黄山市| 外汇| 江陵县| 南丰县| 和政县| 宁国市| 石屏县| 浦东新区| 县级市| 揭东县| 高阳县| 沙坪坝区| 长顺县| 元朗区| 乌审旗| 海伦市| 临澧县| 东平县|