Quelques remarques : : pourquoi l'avoir déclaré static si c'est pour l'appelé ainsi ?
Ensuite à mon avi, la lenteur proviens de ça :
for(int i=0;i<donnee.length;i++){
retour+=((char)18);...