Zufallszeilen aus .txt

  • Themenstarter Lumbar traffic jam
  • Beginndatum
Status
Nicht offen für weitere Antworten.
L

Lumbar traffic jam

Gast
Hi allerseits,
ich weiß, das Thema wurde schon öfters behandelt, nur hat mir die SuFu hier im Forum und bei google nicht weiter geholfen.
Also, ich lese mit:

Code:
FileReader eingabestrom = new FileReader("a.txt"); 
      int gelesen; 
      StringBuffer text = new StringBuffer(10); 
      boolean ende = false; 
      while(!ende){ 
         gelesen = eingabestrom.read(); 
         if (gelesen == -1) 
            ende = true; 
         else 
         text.append((char)gelesen); 
      } 
                System.out.println(text);

eine Textdatei ein. Jetzt ist es aber für mein Programm notwendig immer nur eine bestimmte zufällige Zeile auszulesen, welche jeweils die Werte 1, 7, 13, 19,... usw annehmen sollten. Um diese Zufallszahlen zu erzeugen nutze ich den Code:

Code:
      zufall = (int) Math.round(Math.random()*9);
      int z = 1+(6*zufall);

Kann mir jemand vllt helfen wie ich es jetzt schaffe genau nur diese zeilen aus meiner Datei einzulesen? gibt es i-welceh Methoden wie z.readLine("a.txt"); oder sowas in der Art^^

Danke im Vorraus...
 

JPKI

Top Contributor
Ohne Garantie:
Code:
BufferedReader buffer = new BufferedReader(new InputStreamReader(new FileInputStream("a.txt")));
String line;
List<String> list = new ArrayList<String>();
while ((line = buffer.readLine()) != null)
 list.append(line);

String zufallsZeile = list.get(new java.util.Random().nextInt(list.size()));
 
L

Lumbar traffic jam

Gast
Mein Compiler meckert bei den Spitzen Klammern (< >) und sagt mir:

Code:
'(' or '[' expected

wofür sind denn die spitzen klammern? ich kenn mich nicth so ultra gut in java aus^^
 

JPKI

Top Contributor
Das sind Generics... Die gibt's erst ab Java 5. Wenn da dein Compiler meckert, ist entweder das Compilance Level <5 oder du benutzt das JDK 1.4 oder weniger.
Wenn du dieses Compilance Level benötigst, lass die spitzen Klammern einfach weg und caste dann das Objekt aus der Liste auf String.
Code:
String string = (String)list.get(...);
 
G

Gast

Gast
entschuldige, aber das hilft mir leider nicht wirklich weiter. bin noch großer anfänger...
 

JPKI

Top Contributor
Erlaube mir, dir die Zunge von rechts nach links zu legen :wink: :
Code:
BufferedReader buffer = new BufferedReader(new InputStreamReader(new FileInputStream("a.txt")));
String line;
List list = new ArrayList();
while ((line = buffer.readLine()) != null)
list.append(line);

String zufallsZeile = (String)list.get(new java.util.Random().nextInt(list.size()));
 
G

Gast

Gast
Ja, ich erlaube es dir, sobald ich noch weiß, warum der bei deinem beispielscode in zeile 5 wieder rumzickt...^^
der liebe compiler sagt mir: "cannot resolve symbol; symbol: method append(); location: interface java.util.List"
udn ich weiß nicht warum er das sagt, weil ich habe java.util.* eigentlich importiert...
 

JPKI

Top Contributor
Oh, Verzeihung, die Methode in Zeile 5 heißt add() und nicht append(). Mein Fehler, ich bitte um Verzeihung :oops:
 
L

Lumbar traffic jam

Gast
Dir sei verziehen! :D
klappt alles super! Ich bedanke mich recht herzlichst
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
N JLabels und Zufallszeilen aus Datei Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben