Cortar String a cada 255 caracteres

Pessoal, ola, estou com um problema

tenho uma String e gostaria de a cada 255 caracteres cortala em uma nova posição em um array…

como faço isso?

obrigado!

Substring

http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html#substring(int, int)

Cara obrigado, mas eu ja tentei…

o problema é que preciso varrer a
String inteira, e não sei como aumentar o parametros final do substring…

Por que você precisa varrer a String inteira?

porque a cada 255 caracteres irei jogar em um array…

E, por que isso te forçaria a ler a String inteira?

Vc pode fazer algo parecido com isso aqui:

[code]public static String[] recortaString( String str, int tamanhoRecorte ) {

int tArray = str.length() % tamanhoRecorte == 0 ? str.length() / tamanhoRecorte : ( str.length() / tamanhoRecorte ) + 1;
String[] array = new String[ tArray ];

StringBuilder sb = new StringBuilder();

int contArray = 0;
int contChar = 0;
    	
for ( char a : str.toCharArray() ) {
	
	sb.append( a );
	contChar++;
	    		
	if ( contChar == tamanhoRecorte ) {
		array[ contArray ] = sb.toString();
		sb = new StringBuilder();
		contChar = 0;
		contArray++;
	}
	
}

if ( contChar != 0 ) {
	array[ contArray ] = sb.toString();
}

return array;

}[/code]

Consulte a documentação, lá vc vai encontrar tudo que precisa para construir a grande maioria dos seus algoritmos.

[]´s

Aprendi esta dica aqui no GUJ! método simples com expressões regulares:

  
     public static String[] splitString(String input){  
        return input.replaceAll("(.{255})","$1:").split(":");  
    }  

[quote=ctdaa]Aprendi esta dica aqui no GUJ! método simples com expressões regulares:

[code]

 public static String[] splitString(String input){  
    return input.replaceAll("(.{255})","$1:").split(":");  
}  

[/code][/quote]

Muito melhor :wink:

[quote=ctdaa]Aprendi esta dica aqui no GUJ! método simples com expressões regulares:

[code]

 public static String[] splitString(String input){  
    return input.replaceAll("(.{255})","$1:").split(":");  
}  

[/code][/quote]

Ola amigo!

Essa sua lógica está meio furada, pois se tiver : em outra posiçao da string seu split vai quebrar errado, sendo assim nao garante o tamanho de 255.

Att.

Tá bom… foi só um exemplo, o programador adapta para sua necessidade… pode escolher um delimitador melhor, pode ser até um caracter não imprimível que o usuário não digita…

Olha, fiz um código bem amador, mas acho que essa é a idéia:

class RecortaString{
	public static void main(String[] args){
		String teste = new String("Antonio Nunes!!!");
		recortaString(teste);
	}

	public static void recortaString(String a){
		final int qtdRecorte = 5; // Aqui defini o tamanho do recorte, no seu caso é 255
		int pontoInicial=0, int pontoFinal=0, int contStr=0;

		while(pontoFinal < a.length()){
			if(contStr == qtdRecorte){
				System.out.println(a.substring(pontoInicial,pontoFinal));
				pontoInicial = pontoFinal;
				contStr = 0;
			}
			else{
				pontoFinal++;
				contStr++;
			}
		}
		if(contStr!=0){// Isso aqui é pra pegar o resto da String
			System.out.println(a.substring((a.length() - contStr),a.length())); 
		}
	}
}

Flws :wink:

Obrigado pessoal. Consegui!

alis não precisa varrer a String…
desculpem pela ignorancia!

Obrigado!