# Bestimmte Zeile aus Textdatei auslesen



## JimBeam (18. Mrz 2017)

Hi leude,
ich würde gerne um Parameter zu definieren aus einer Textdatei lesen.
Nun möchte ich für Parameter 1 aus Zeile 1 lesen.
Für Parameter2 aus Zeile 2, und so weiter.
Mit .readlie(); kann ich ja leider nur Zeile für Zeile auslesen.
Weiß jemand wie man die Zeile genau vorraussetzen kann und das nicht mit Bedingungen die in der Zeile sind. Das währe nämlich eher unpraktisch zur Not ginge es aber natürlich auch.
Ich würde mich sehr über ein Codebeispiel freuen.
Vielen dank im Vorraus Jim.


----------



## DrZoidberg (18. Mrz 2017)

Du könntest z.B. die Datei in ein String Array lesen.


----------



## larkem (20. Mrz 2017)

DrZoidberg hat gesagt.:


> Du könntest z.B. die Datei in ein String Array lesen.


Wenn ich JimBeam richtig verstehe, wollte er gerade das vermeiden. Sofern mir bekannt ist, geht das aber nicht. 

Ist die Textdatei vorgegeben oder hast du Einfluss darauf? Dann würde sich wohl eher eine XML anbieten.


----------



## JimBeam (20. Mrz 2017)

larkem hat gesagt.:


> Wenn ich JimBeam richtig verstehe, wollte er gerade das vermeiden. Sofern mir bekannt ist, geht das aber nicht.
> 
> Ist die Textdatei vorgegeben oder hast du Einfluss darauf? Dann würde sich wohl eher eine XML anbieten.


Ich erstelle die Textdatei selber


----------



## SF2311 (20. Mrz 2017)

oder du liest in einer schleife die Zeilen vorher ein ohne den Rückgabewert zu speichern


----------



## JStein52 (20. Mrz 2017)

larkem hat gesagt.:


> Dann würde sich wohl eher eine XML anbieten.


Auch dann muss er die Datei einlesen

Edit: wobei der Vorschlag mit XML natürlich nicht schlecht ist.



SF2311 hat gesagt.:


> oder du liest in einer schleife die Zeilen vorher ein ohne den Rückgabewert zu speichern


Häää


----------



## SF2311 (20. Mrz 2017)

in der Art:

```
Scanner sc ;

for(int i = 0 ; i< (zeilennummer-1);i++){
sc.nextLine();
}

gewünschteZeile = sc.nextLine();
```


----------



## mrBrown (20. Mrz 2017)

Wie wärs mir properties?

XML? Das letzte Jahrtausend hat angerufen ;P


----------



## larkem (20. Mrz 2017)

mrBrown hat gesagt.:


> Wie wärs mir properties?
> 
> XML? Das letzte Jahrtausend hat angerufen ;P



Er wird es ja nicht ohne Grund in einer Datei speichern wollen...
Verstehe daher deinen Einwand nicht.


----------



## mrBrown (20. Mrz 2017)

larkem hat gesagt.:


> Er wird es ja nicht ohne Grund in einer Datei speichern wollen...
> Verstehe daher deinen Einwand nicht.


Deshalb properties 

XML ist doch mit Kanonen auf Spatzen schießen, wenn man Mäuse fangen will...


----------



## larkem (20. Mrz 2017)

mrBrown hat gesagt.:


> Deshalb properties
> 
> XML ist doch mit Kanonen auf Spatzen schießen, wenn man Mäuse fangen will...



Achso... du meinst properties mit store() in einer ASCII speichern und dann wieder laden? Ja das kann sich der Threadsteller auch mal anschauen.


----------



## Xyz1 (20. Mrz 2017)

Wie sieht die Textdatei aus? Etwas nebulös das Ganze. Und weiterentwicklung von XML wäre JSON (btw).


----------



## mrBrown (20. Mrz 2017)

DerWissende hat gesagt.:


> Und weiterentwicklung von XML wäre JSON (btw).


WTF


----------



## Xyz1 (20. Mrz 2017)

mrBrown hat gesagt.:


> WTF


Mit Wissenheit glänzen (wollen), was? 
https://de.wikipedia.org/wiki/Extensible_Markup_Language#Alternative_Formate


----------



## mrBrown (20. Mrz 2017)

DerWissende hat gesagt.:


> Mit Wissenheit glänzen (wollen), was?
> https://de.wikipedia.org/wiki/Extensible_Markup_Language#Alternative_Formate


Link-Bingo?
http://www.duden.de/rechtschreibung/Weiterentwicklung

jpg ist dann auch ne Weiterentwicklung von .txt (mit ASCII-Art)?


----------



## Xyz1 (20. Mrz 2017)

Nur, weil ich einmal etwas kleingeschrieben habe... Wir sind doch alle keine Rechtschreibnazis. 

Ich warte noch auf den Inhalt der Textdatei...


----------



## mrBrown (20. Mrz 2017)

DerWissende hat gesagt.:


> Nur, weil ich einmal etwas kleingeschrieben habe... Wir sind doch alle keine Rechtschreibnazis.


Ne, weil du völlig überraschend Unsinn redest...



DerWissende hat gesagt.:


> Ich warte noch auf den Inhalt der Textdatei...


Das ist doch völlig irrelevant für die Frage...man könnte einfach mal warten, was er zu den bisherigen Vorschlägen sagt


----------



## Xyz1 (21. Mrz 2017)

mrBrown hat gesagt.:


> Das ist doch völlig irrelevant für die Frage...man könnte einfach mal warten, was er zu den bisherigen Vorschlägen sagt


Es soll eine Textdatei "geparst" werden, dann wäre es nützlich, diese schon zu kennen. Wenigstens den Aufbau jener.


----------



## Neumi5694 (28. Mrz 2017)

Kurz: In einer Textdatei kannst du nicht nur "Zeile 15" lesen, wenn du nicht weißt, wie lang die Zeilen sind.
Entweder musst du sie binär selbst einlesen und 14 mal nach dem Zeilenumbruch suchen, oder aber du verwendest die vorgefertigte readLine Methode, um dich bis Zeile 15 vorzuarbeiten.
In beiden Fällen liest du alles ein, was bis zur gewünschten Zeile kommt.

Wenn du einen bestimmten Parameter suchst, dann musst du ähnlich vorgehen. Da du nicht weißt, wo er steht, musst du dich Zeile für Zeile vorarbeiten.
Sind mehrere Zugriffe notwendig, solltest du die Datei vorher cachen.

Falls du weißt, wie lang die Zeilen sind, dann kannst du binär ab Zeichen (ZeileNr-1)*Zeilenlänge (inklusive Zeilenumbruch)anfangen zu lesen bis zum nächsten Zeilenumbruch.


----------

