用 strTokenizer.hasMoreElements() 判断.

解决方案 »

  1.   

    中间有的字符串为空,当然会有null值了。
      

  2.   

    为什么不使用hasMoreTokens()来让系统自己检查还有多少个字符串元尚未被取出来?数似乎不太明智.谢谢.
      

  3.   

    strLine是从文件中读出来的,应该分割成62个字符串,要分别写到数据库的.
    因为文件中,两个逗号之间有空值,因而造成了这样的错误.
    是不是要自己写类分割?
    快帮帮忙!我急着用!!
      

  4.   

    StringTokenizer strTokenizer = new StringTokenizer(strLine,",", true);
    String strTmp;
    for (int i = 0; i < 62; i++)
    {
      strTmp = strTokenizer.nextToken();
      if( strTmp.equals(","))
        strTmp = "";
      System.err.println("strTmp" + i + "=" + strTmp);
    }
      

  5.   

    sorry, 上一版不对
    正确的解法
    String strLine = "01050000,20020506,181,6448,1,0,0,,3780,3780,0,0,0,0,0,0,0,6220,3600,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,3600,0,0000000013,1,2,0,0,0,2,          ,0,5100,0,4,0406,,1147 ,0,1147 ,1147 ,                                ,0,              ,0,,20020506114752,会食                ,";
    StringTokenizer strTokenizer = new StringTokenizer(strLine,",",true);
    String strTmp="";
    int i=0;
    while ( strTokenizer.hasMoreElements())
    {
      String s = strTokenizer.nextToken();
      if( s.equals(",")) {     
         System.err.println("strTmp" + (i++) + "=" + strTmp);
         strTmp="";
      }else
         strTmp = s;
    }
    System.err.println("strTmp" + (i++) + "=" + strTmp);