# zeilenumbruch einfügen



## nobodys wife (28. Nov 2007)

hallo!
ich versuche in einer textdatei einen zeilenumbruch immer nach 120 zeichen einzufügen, wenn es sich um ein leerzeichen handelt.einen kompilierfehler bekomme ich nicht, aber meine if bedingungen werden nicht erkannt. hat vielleicht jemand ne idee?

```
public void formatieren(){

int zcnt = 1;
String path = "text.txt";

try { 

 BufferedReader in = new BufferedReader(new FileReader(path)); 
  String zeile = in.readLine();
  StringBuilder b = new StringBuilder();		   			

  while(zeile != 0 )  {

    if (zeile.length() <= 120) {
      	zcnt++;
      b.append(zeile);
      System.out.println(zcnt);
    } else {
   if (zeile.length() > 120 && zeile == "") {		
System.out.println("jupp");	
 
       System.out.println("dumdidum");
	zeile=(zeile.replace(" ","\n"));
	zcnt = 1;
       	 zcnt++;
      }  
      if (zeile != " ") {
      zcnt++;
      b.append(zeile+"\n");	
 }
		}
zeile = in.readLine();
feld.setText(b.toString()+"\n");
}
} catch (Exception ee) {
  ee.printStackTrace();
}
}
```


----------



## nobodys wife (28. Nov 2007)

danke, hat sich erledigt


----------



## 20mithrandir (28. Nov 2007)

hm... Und da habe ich mir extra die Mühe gemacht?


```
BufferedReader in = new BufferedReader( new FileReader( path ) );
String zeile = null;
StringBuilder b = new StringBuilder();

while( (zeile = in.readLine()) != null )
{
	if ( zeile.length() <= 120 )
	{
		zcnt++;
		b.append( zeile ).append( '\n' );
		
		System.out.println( zcnt );
	}
	else
	{
		System.out.println( "\t" + zeile.length() );
		
		int length = zeile.length();
		while ( length > 120 )
		{						
			// letztes Leerzeichen vor der 120er-Marke
			// suche. Wir starten beim Index 119 und
			// hangeln uns nach vorne durch:
			int i = 119;
			for ( ; i > 0; i-- )
			{
				if ( zeile.charAt( i ) == ' ' )
				{
					String tmp = zeile.substring( 0, i );								
					b.append( tmp ).append( '\n' );
					zeile = zeile.substring( i+1 );
					zcnt++;
					break;
				}
			}
			if ( i > 0 )
			{
				length = zeile.length();
			}
			else
			{
				// Kein Leerzeichen innerhalb von 120 Zeichen gefunden.
				b.append( zeile ).append( '\n' );
				zcnt++;
				break;
			}
		}
	}
	// feld.setText( b.toString() + "\n" );
	// System.out.print( b.toString() + "\n" );
}
```


----------



## nobodys wife (28. Nov 2007)

ich danke dir trotzdem vielmals


----------

