Разбивка текста на блоки фиксированной длины

Допустим, перед нами стоит задача разбить текст на блоки фиксированной длины.
Как пример можно взять строку:

oxxxxooox

и разбить на блоки по три символа:

oxx
xxo
oox

Это можно сделать следующим кодом:

String text = "oxxxxooox";//исходный текст
int portion = 3;//размер блока
int i = 0;
while(i  text.length()){
	System.out.println(text.substring(i,Math.min(i += portion, text.length())));
}

Функция substring вырезает часть строки в диапазоне [beginIndex,endIndex), т.е. начиная с позиции beginIndex включительно и до позиции endIndex (не включая саму позицию endIndex).
i += portion — определяет конец текущего блока и одновременно начало следующего.
Math.min(i += portion, text.length()) — позволяет определить конец блока и не выйти за пределы самого текста.