# Textfile Zeilenweise einlesen



## Bench (30. Mrz 2007)

Hi zusammen,

versuche schon mühsam einen Textfile,welchen ich in einem Package abgelegt habe
zeilenweise in meine Midlet einzulesen. Möchte quasi ein Vokabeltrainer schreiben und mir fehlt nur noch, dass
ich die Vokabeln eben aus einem Textfile Zeilenweise auslesen kann und dann verarbeiten kann!!!

Normal mach ichs mit dem BufferedReader. Aber geht hier ja nicht!!!
Vielleicht kann mir jemand helfen, wie ich das Zeilenweise einlesen schaffe!!!!!????


Vielen Dank schon mal

Bless Bench


----------



## stev.glasow (31. Mrz 2007)

Vom Prinzip her so:


```
public static String readLine(InputStream in) throws IOException{
		StringBuffer buf = new StringBuffer();
		
		int r;
		while((r = in.read()) != -1){
			if(r == '\r') continue;			
			else if(r == '\n') break;
			else buf.append((char)r);
		}
		
		return r == -1 && buf.length() == 0? null: buf.toString(); 
	}
```


```
InputStream  in = new ByteArrayInputStream("line1\nline2\r\nline3".getBytes());
		String line;
		while((line = readLine(in)) != null){
			System.out.println(line);
		}
```

Du kannst auch beim read() mit nem Buffer arbeiten dann geht das lesen schneller(meist), aber ist vom Prinzip das gleiche .. du musst halt nach \r und \n ausschauhalten.


----------



## Bench (31. Mrz 2007)

Hi,

also schon vielen Dank!
Sieht sehr vielversprechend aus!
Jetzt hät ich nur noch eine kleine Frage:

Wo geb ich genau den "Pfad" des Textfiles an???



```
InputStream in = new BufferedInputStream( new FileInputStream("texte/Vokabeln.txt"));
```

geht ja leider nicht!!!

Steigt nähmlich bei dem deinem Code noch nicht wirklich durch!!!:-(

Bin leider noch nicht so fit!!!!

Wär cool wenn du mir das noch beantworten könntest!?!?!

Vielen Dank

Bless Bench


----------



## L-ectron-X (31. Mrz 2007)

So sollte es gehen.

```
BufferedReader reader = new BufferedReader(new FileReader("texte/Vokabeln.txt"));
```

Edit: Ups, wir sind ja in der ME-Sektion. Keine Ahnung, ob das da auch so funktioniert.


----------



## stev.glasow (1. Apr 2007)

Versuch mal:
InputStream in = new BufferedInputStream(DasMidlet.class.getResourceAsStream("texte/Vokabeln.txt"));

_Anstelle von 'DasMidlet' den Klassennamen von deinem Midlet nehmen._


----------

