Quebra de linha de String com limite de char!

Boa noite galera, preciso de uma ajuda para fins de estudo e aprendizado.

Quero fazer a quebra de linha de uma String, que tem como conteúdo uma grande linha, Essa quebra de linha não pode quebrar palavras e tem um limite x de letras por linha.
Meu código é o seguinte, ele pega um arquivo que possui duas linhas, uma com a quantidade de letras por linha, armazenado em M e a segunda linha é o texto escrito em uma só linha
Com isso no momento quero descobrir como quebrar essa linha colocando a regra de limite de letras por linha.
Se alguém puder me ajudar, ficarei grato.

import java.io.*;
import java.util.Arrays;
public class Exercício {

public static void main(String[] args) throws IOException {
	
	BufferedReader br = new BufferedReader(new FileReader("c:/in.txt"));
	String linha1 = br.readLine();
	int M = Integer.parseInt(linha1);
	
	String linha = br.readLine();
		
	br.close();
			
	
	System.out.println(linha);
	System.out.println(M);
}

}

Basicamente você tem que usar:
O metodo substring para limitar o tamanho
O metodo lastIndexOf para localizar o ultimo espaco
O metodo concat para add a quebra.

1 curtida

:blush:Olá Marcos_Felipe, acho que esse código deve resolver seu problema…

   public class Principal {
	public static void main(String[] args) {
		String texto = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi gravida libero nec velit. Morbi scelerisque luctus velit.";
		String novoTexto = "";
		int contadorQntLetras = 0;
		int limiteLinha = 20;
		
		for( int i = 0; i < texto.length(); i++ ) {
			novoTexto += texto.charAt(i);
			contadorQntLetras++;
			
			if( contadorQntLetras >= limiteLinha && texto.charAt(i) == ' ') {
				contadorQntLetras = 0;
				novoTexto += "\n";
			}
		}
		
		System.out.println(novoTexto);
	}
}