Skip to content
Snippets Groups Projects
Commit 3a635abe authored by aichinos's avatar aichinos
Browse files

luetiedosto jatkuu

parent d2a15562
No related branches found
No related tags found
No related merge requests found
...@@ -64,6 +64,17 @@ public class Kurssi { ...@@ -64,6 +64,17 @@ public class Kurssi {
public int getID() { public int getID() {
return this.kurssiID; return this.kurssiID;
} }
/**
* Asettaa kurssin ID ja samalla varmista, että
* seuraava numero on aina suurempi kuin tähän mennessä suurin.
* @param nro asetettava kurssi ID
*/
public void setID(int nro) { // TODO: ristiriita rekisteroi()-metodin kanssa??????
this.kurssiID = nro;
if (this.kurssiID >= nextID) nextID = this.kurssiID+1;
}
/** /**
...@@ -86,15 +97,6 @@ public class Kurssi { ...@@ -86,15 +97,6 @@ public class Kurssi {
} }
/**
* Asettaa kurssin ID ja samalla varmista, että
* seuraava numero on aina suurempi kuin tähän mennessä suurin.
* @param nro asetettava kurssi ID
*/
public void setID(int nro) { // TODO: ristiriita rekisteroi()-metodin kanssa??????
this.kurssiID = nro;
if (this.kurssiID >= nextID) nextID = this.kurssiID+1;
}
/** /**
......
...@@ -19,7 +19,7 @@ public class Kurssit { ...@@ -19,7 +19,7 @@ public class Kurssit {
private int kpl = 0; private int kpl = 0;
private static String tiedostonNimi = ""; private static String tiedostonNimi = "";
private static final int MAX_KPL = 5;//montako kurssia yhdelle taulukolle private static final int MAX_KPL = 10;//montako kurssia yhdelle taulukolle
/** /**
......
...@@ -10,8 +10,8 @@ import java.util.List; ...@@ -10,8 +10,8 @@ import java.util.List;
*/ */
public class MMKurssit { public class MMKurssit {
private /*final*/ Kurssit kurssit = new Kurssit(); private final Kurssit kurssit = new Kurssit();
private /*final*/ Tapaamiset tapaamiset = new Tapaamiset(); private final Tapaamiset tapaamiset = new Tapaamiset();
//================================================================== //==================================================================
......
...@@ -4,6 +4,7 @@ package mmkurssit; ...@@ -4,6 +4,7 @@ package mmkurssit;
import java.io.PrintStream; import java.io.PrintStream;
import apumetodit.RandomNumero; import apumetodit.RandomNumero;
import fi.jyu.mit.ohj2.Mjonot;
/** /**
* Yksittäiset tapaaminen-oliot * Yksittäiset tapaaminen-oliot
...@@ -161,6 +162,14 @@ public class Tapaaminen { ...@@ -161,6 +162,14 @@ public class Tapaaminen {
} }
/**
* @param nro asetettava tapaaminenID
*/
public void setmID(int nro) {
this.tapaaminenID = nro;
if (this.tapaaminenID >= nextmID) nextmID = this.tapaaminenID+1;
}
/** /**
* @return kyseisen tapaamisen kID (eli kurssin ID), joka kertoo mihin kurssiin kyseinen tapaaminen liittyy * @return kyseisen tapaamisen kID (eli kurssin ID), joka kertoo mihin kurssiin kyseinen tapaaminen liittyy
*/ */
...@@ -176,6 +185,24 @@ public class Tapaaminen { ...@@ -176,6 +185,24 @@ public class Tapaaminen {
} }
/**
* Syötetään rivin tietojen mukaan data Tapaaminen-oliolle
* @param rivi käsitteltävä rivi (jonka luettu tiedostosta)
*/
public void parse(String rivi) {
StringBuffer sb = new StringBuffer(rivi);
setmID(Mjonot.erota(sb, '|', getmID()));
this.kID = Mjonot.erota(sb, '|', kID);
this.paiva = Mjonot.erota(sb, '|', paiva);
this.kkausi = Mjonot.erota(sb, '|', kkausi);
this.vuosi = Mjonot.erota(sb, '|', vuosi);
this.hour = Mjonot.erota(sb, '|', hour);
this.min = Mjonot.erota(sb, '|', min);
this.kesto = Mjonot.erota(sb, '|', kesto);
this.paikka = Mjonot.erota(sb, '|', paikka);
this.muu = Mjonot.erota(sb, '|', muu);
}
//========================================================================== //==========================================================================
/** /**
* @param args ei käytössä * @param args ei käytössä
......
package mmkurssit; package mmkurssit;
import java.io.*;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
import java.util.Scanner;
/** /**
* Tietorakenne (tällä kerralla taulukko), jossa säilytetään tapaamiset alkioina. * Tietorakenne (tällä kerralla taulukko), jossa säilytetään tapaamiset alkioina.
...@@ -83,6 +86,28 @@ public class Tapaamiset { ...@@ -83,6 +86,28 @@ public class Tapaamiset {
} }
/**
* @param fileName luettava tiedoston nimi
* @throws SailoException jos ongelmia tiedostojen kanssa
*
*/
public void lueTiedostosta(String fileName) throws SailoException {
String nimi = fileName + "/tapaamiset.dat";
File ftied = new File(nimi);
try(Scanner fi = new Scanner(new FileInputStream(ftied))){
while(fi.hasNextLine()) {
String rivi = fi.nextLine().trim();
if ("".equals(rivi) || rivi.charAt(0) == ';' ) continue;
Tapaaminen tap = new Tapaaminen();
tap.parse(rivi);
lisaa(tap);
}
} catch (FileNotFoundException ex) {
throw new SailoException("Ei saa luettua tiedostoa " + nimi);
}
}
//======================================================= //=======================================================
/** /**
...@@ -92,6 +117,12 @@ public class Tapaamiset { ...@@ -92,6 +117,12 @@ public class Tapaamiset {
Tapaamiset tapaamiset = new Tapaamiset(); Tapaamiset tapaamiset = new Tapaamiset();
try {
tapaamiset.lueTiedostosta("tiedot");
} catch (SailoException ex) {
System.err.println(ex.getMessage());
}
Tapaaminen j4_1 = new Tapaaminen(1); Tapaaminen j4_1 = new Tapaaminen(1);
j4_1.rekisteroi(); j4_1.rekisteroi();
j4_1.tayta(); j4_1.tayta();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment