ファイルの中の行をBufferedReaderで読み込んでファイルに出力するというプログラムを作っているのですが
出力した行を最大で30文字に揃えなければならないのです。一行が30文字を超える場合は31文字以降を次の行に折り返すとなっています。

考えた方法としてはleadLine()で読み込んだ行をlength()で文字数をカウントして
if分で30文字を超えた場合は31文字以降を次の行に折り返す処理を行い、
そうでない場合にはそのまま処理を続けるという風にしたいのですが折り返す処理というものがいまいち理解できません。

新たに変数を作って一文字ずつ出力していき変数が30を超えたらprintlnで改行して
次の行に出力していけばいいのでしょうか?
FileReader fr; FileWriter fw;
try{
BufferedReader in = new BufferedReader(fr);
PrintWriter out = new PrintWriter(fw);

String s;
int length = 0;
while((s = in.readLine()) != null) {
length = s.length();
if(length > 35){
}else{
}