Eu preciso quebra uma determinada string a cada 32 caracteres…
Oque eu tenho é o seguinte:
FileReader reader = new FileReader("C:/Users/Apanhamentos/Desktop/link.txt");
BufferedReader leitor = new BufferedReader(reader);
String linha = null;
while((linha = leitor.readLine()) != null) {
System.out.println(linha);
}
leitor.close();
reader.close();
Ou seja eu pego um arquivo txt e a partir dele eu quebro o texto a cada 32 caracteres… so que eu travei na parte de separa… alguem tem alguma ideia de como fazer?
Você nunca escreveu em pseudo-código (ou português estruturado) na vida ? Deveria ter visto que há dois laços aqui, não um apenas: um para pegar as linhas do arquivo de entrada, e outro laço (mais interno) para separar cada linha lida em pedaços de 32 caracteres:
while((linha = leitor.readLine()) != null) {
for (int i = 0; i < linha.length(); i++) {
System.out.println(linha.substring(comeco, fim));
fim=fim+32;
comeco=comeco+32;
}
}
Ai ele imprimi:
Logicamente que ele gera uma:
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 384
at java.lang.String.substring(Unknown Source)
at Quebra.main(Quebra.java:26)
Leia o arquivo todo primeiro e depois quebre ele…da forma como está fazendo ele vai imprimir os primeiros 32 caracteres de cada linha e não do texto todo.
[code]
FileReader reader = new FileReader(“C:/Users/Apanhamentos/Desktop/link.txt”);
BufferedReader leitor = new BufferedReader(reader);
String linha = null;
int fim=32;
int comeco=0;
StringBuilder builder= new StringBuilder();
while((linha = leitor.readLine()) != null) {
builder.append(linha);
}
for (int i = 0; i < builder.length(); i++) {
System.out.println(builder.substring(comeco, fim));
fim=fim+32;
comeco=comeco+32;
}
leitor.close();
reader.close();
}[/code]