[Java] Importeren strings per regel

Pagina: 1
Acties:
  • 144 views sinds 30-01-2008
  • Reageer

  • Kaastosti
  • Registratie: Juni 2000
  • Laatst online: 17-09 16:32

Kaastosti

Vrolijkheid alom!

Topicstarter
Hey allemaal!
Sorry, ik weet dat dit ondertussen een uitgekauwde topic is, maar toch helpen de dingen die ik hier al gevonden heb me hier niet mee jammergenoeg.

Ik heb ondertussen en klein stukje code waarmee ik een string kan importeren uit een tekstbestand. Wat ik nu wil doen, is het zelf aangeven van welk regelnummer hij die string moet halen. Standaard is dit uiteraard regel nr 0.

Het gaat om losse woorden die ik per vijf onder elkaar wil zetten en zelf wil bepalen welk woord er uitgehaald wordt.
Ik heb uit andere topics begrepen dat het ook mogelijk is om woorden op 1 regel te zetten en er scheidingstekens tussen te zetten om hier naar te kunnen verwijzen. Op die manier zou ik vijf woorden achter elkaar kunnen zetten met deze tekens er tussen.

Kan iemand mij hier iets meer over vertellen? Of dit waar is en hoe ik dit tot stand kan brengen?

Hier is de code die ik (voor dit losse onderdeel van het totaal) heb: ...en alvast bedankt :D

package untitled2;

import java.awt.*;
import java.applet.*;
import java.io.*;

public class Applet1 extends Applet{
String data;

public void init(){
data = new String();
lees();
}

public void paint(Graphics g){
g.drawString(""+data,4,15);
}

void lees(){
try{
File tf = new File("test1.txt");
FileReader fr = new FileReader(tf);
BufferedReader in = new BufferedReader(fr);
data = in.readLine();
in.close();
}
catch(Exception e){
System.out.print("Prutser! Het bestand is er niet!");
}
}
}


(en hoe kan ik ervoor zorgen dat ie niet alles naar links uitlijnt?)

Een vergissing is menselijk, maar om er echt een puinhoop van te maken heb je een computer nodig.


  • eek
  • Registratie: Februari 2001
  • Laatst online: 06-04-2020

eek

@MagickNET

(en hoe kan ik ervoor zorgen dat ie niet alles naar links uitlijnt?)

[ code ] bla [ /code ]
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package untitled2;

import java.awt.*;
import java.applet.*;
import java.io.*;

public class Applet1 extends Applet{
  String data;

  public void init(){
    data = new String();
    lees();
  }

  public void paint(Graphics g){
    g.drawString(""+data,4,15);
  }

  void lees(){
    try{
    File tf = new File("test1.txt");
    FileReader fr = new FileReader(tf);
    BufferedReader in = new BufferedReader(fr);
    data = in.readLine();
    in.close();
    }
    catch(Exception e){
    System.out.print("Prutser! Het bestand is er niet!");
    }
  }
}

Skill is when luck becomes a habit.


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Bedoel je dat je bijvoorbeeld 5 woorden achter elkaar wilt zetten en dan bijvoorbeeld wilt scheiden met een ';' en dan later deze weer uit elkaar halen? dat kan je doen met een StringTokenizer.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • Kaastosti
  • Registratie: Juni 2000
  • Laatst online: 17-09 16:32

Kaastosti

Vrolijkheid alom!

Topicstarter
Ja, precies. Dat is een mogelijkheid.

Om het simpel te houden wil ik eigenlijk alleen een regelnummer op kunnen geven waarvan ie de string moet halen. Die woorden scheiden met een teken op dezelfde regel is een andere mogelijkheid, alleen lijkt me dat een stuk moeilijker.

Als iemand mij zou kunnen helpen met de uitvoering van het eerste idee op de bovenstaande code, zou het al geweldig zijn.

Een vergissing is menselijk, maar om er echt een puinhoop van te maken heb je een computer nodig.


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Op dit moment lees je alleen de eerste regel.... doe eens een gok: Hoe lees je er meer? Juist ja: een loopje! Gebruik bijvoorbeeld een while of een for lus om net zo lang regels te lezen totdat je op de gewenste regel bent. Die lever je daarna op.

Een andere simpele oplossing is om een lijst van Strings op te leveren. Elke regel is een element in de List. Je vraagt element x op en klaar is kees. Deze methode kan je ook nog leuk hergebruiken voor andere toepassingen. In het verleden heb ik een paar keer deze methoden hier gedropt, dus je kunt kiezen: nadenken of goed zoeken ;) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Een StringTokenizer is helemaal niet zo heel lastig hoor. Moet je de docs er maar eens over lezen. Zoals jij het wil kan het ook door gewoon een regel nummer mee te geven aan de methode en dat zovaak readLine() doen totdat je de goede regel hebt.
edit:
Typo

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Ok, zal nog iets helpen ;) . Kijk eens hier:

[topic=172821]

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • Kaastosti
  • Registratie: Juni 2000
  • Laatst online: 17-09 16:32

Kaastosti

Vrolijkheid alom!

Topicstarter
Ik wil u alleen hartelijk danken voor de tips :)

Ik denk dat ik er nu wel uit ga komen!
Thx!

Een vergissing is menselijk, maar om er echt een puinhoop van te maken heb je een computer nodig.

Pagina: 1