public void parse(byte[] aLine,int length) throws IOException {
  int numberOfTokens=0;
  int start=0;
  while (start < length) {
    int end=start;
    while (aLine[end] != '\t' && end < length)     end++;
    if (numberOfTokens == tokens.length) {
      String[] tmp=new String[2 * tokens.length];
      System.arraycopy(tokens,0,tmp,0,tokens.length);
      tokens=tmp;
    }
    tokens[numberOfTokens++]=Basic.toString(aLine,start,end - start);
    start=end + 1;
  }
  parse(tokens,numberOfTokens);
}

public void parse ( byte [ ] aLine , int length ) throws IOException { int numberOfTokens = 0 ; int start = 0 ; while ( start < length ) { int end = start ; while ( aLine [ end ] != '\t' && end < length ) end ++ ; if ( numberOfTokens == tokens . length ) { String [ ] tmp = new String [ 2 * tokens . length ] ; System . arraycopy ( tokens , 0 , tmp , 0 , tokens . length ) ; tokens = tmp ; } tokens [ numberOfTokens ++ ] = Basic . toString ( aLine , start , end - start ) ; start = end + 1 ; } parse ( tokens , numberOfTokens ) ; }
parse a line of sam format
