按位数截取字符串,组成一个字符串数组的问题

比如:String str="123456abcdef654321";
我想以每6位截取,让其成为一个数组,即:String[] str={"123456","abcdef","654321"};
该如何处理呢?小弟新手,谢谢各位了~~

[code="java"]public static void main(String[] args) {

    StringBuffer str = new StringBuffer("abcdefghijk123456789");
    List strList = new ArrayList();
    int start = 0;
    int end = start+6;

    while(true){
        if(start>=str.length())
            return;
        String temp = str.substring(start, end);
                    strList.add(temp);
        System.out.println(temp);
        start = end;
        end = end+6;
        if(end>=str.length()){
            end = str.length();
        }
    }
} [/code]

StringBuffer str = new StringBuffer("abcdefghijk123456789");

List strList = new ArrayList();

int start = 0;

int end = start+6;

    while(true){  
         if(start>=str.length())  
             return;  
        String temp = str.substring(start, end);  
                     strList.add(temp);  
         System.out.println(temp);  
        start = ++;  
         end = ++;  
        if(end>=str.length()){  
            end = str.length();  
         }  
     }  
 }   

如果是上面那种格式的 用StringUtils.splitByCharacterType(str) StringUtils是apache lang 里面的