java 學習

          軟件開發相關方面的學習

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            33 Posts :: 1 Stories :: 5 Comments :: 0 Trackbacks

          #

          testSplitCSV.java:

          import java.util.Vector;
          class  testSplitCSV{
           /**
           * Split one line of csv file
           * @return a String array results
           */
           public static String[] splitCSV(String src) throws Exception{
            if (src==null || src.equals("")) return new String[0];
            StringBuffer st=new StringBuffer();
            Vector result=new Vector();
            boolean beginWithQuote = false;
            for (int i=0;i<src.length();i++){
             char ch = src.charAt(i);
             if (ch=='\"'){
              if (beginWithQuote){
               i++;
               if (i>=src.length()){
                result.addElement(st.toString());
                st=new StringBuffer();
                beginWithQuote=false;
               }else{
                ch=src.charAt(i);
                if (ch == '\"'){
                 st.append(ch);
                }else if (ch == ','){
                 result.addElement(st.toString());
                 st=new StringBuffer();
                 beginWithQuote = false;
                }else{
                 throw new Exception("Single double-quote char mustn't exist in filed "+(result.size()+1)+" while it is begined with quote\nchar at:"+i);
                }
               }
              }else if (st.length()==0){
               beginWithQuote = true;
              }else{
               throw new Exception("Quote cannot exist in a filed which doesn't begin with quote!\nfield:"+(result.size()+1));
              }
             }else if (ch==','){
              if (beginWithQuote){
               st.append(ch);
              }else{
               result.addElement(st.toString());
               st=new StringBuffer();
               beginWithQuote = false;
              }
             }else{
              st.append(ch);
             }
            }
            if (st.length()!=0){
             if (beginWithQuote){
              throw new Exception("last field is begin with but not end with double quote");
             }else{
              result.addElement(st.toString());
             }
            }
            String rs[] = new String[result.size()];
            for (int i=0;i<rs.length;i++){
             rs[i]=(String)result.elementAt(i);
            }
           return rs;
           }

           public static void main(String[] args){
            String src1=  "\"fh,zg\",sdf,\"asfs,\",\",dsdf\",\"aadf\"\"\",\"\"\"hdfg\",\"fgh\"\"dgnh\",hgfg'dfh,\"asdfa\"\"\"\"\",\"\"\"\"\"fgjhg\",\"gfhg\"\"\"\"hb\"";
            try {
             String[] Ret = splitCSV(src1);
             for (int i=0;i<Ret.length;i++){
              System.out.println(i+": "+Ret[i]);
             }
            }
            catch(Exception e) {
             e.printStackTrace();
            }
           }
          }

          posted @ 2006-02-27 17:28 zxf 閱讀(2018) | 評論 (0)編輯 收藏

          向mysql數據庫中寫入數據,當前系統時間用:current_timestamp
          posted @ 2006-01-09 16:39 zxf 閱讀(636) | 評論 (0)編輯 收藏

          我的java學習內容
          posted @ 2006-01-05 10:21 zxf 閱讀(155) | 評論 (0)編輯 收藏

          僅列出標題
          共4頁: 上一頁 1 2 3 4 
          主站蜘蛛池模板: 八宿县| 泽州县| 南昌县| 无棣县| 涞源县| 株洲市| 文安县| 茌平县| 三原县| 平湖市| 邵武市| 六枝特区| 大同县| 宝山区| 台南县| 岢岚县| 伊金霍洛旗| 武义县| 木兰县| 元氏县| 澄城县| 昌邑市| 巴林左旗| 鄂温| 望谟县| 淳安县| 青铜峡市| 汨罗市| 扎兰屯市| 丹江口市| 乌拉特中旗| 历史| 潞西市| 视频| 九江市| 天门市| 镇康县| 旬阳县| 达孜县| 海淀区| 秦安县|