diff --git a/puntti/Puntti.jar b/puntti/Puntti.jar index 6db2e2c9ba350029eed79af235b0eb702a0bc941..d3a355d638f17ffdc78efa28f3eb31cb614c6e26 100644 Binary files a/puntti/Puntti.jar and b/puntti/Puntti.jar differ diff --git a/puntti/batman/liikkeet.dat b/puntti/batman/liikkeet.dat new file mode 100644 index 0000000000000000000000000000000000000000..6a69d3d435f01320acec0f49dee895e78e682997 --- /dev/null +++ b/puntti/batman/liikkeet.dat @@ -0,0 +1,2 @@ +1|Kyykky3|leveä|2|Syvä|Tanko +2|Kyykky12|neutraali|9|Syvä|Tanko diff --git a/puntti/src/puntti/Liike.java b/puntti/src/puntti/Liike.java index fbcdfb0c8f1aa517562e31679a1dc82ce3d7550c..db16024ffce621f78992a3aea17193d56962f714 100644 --- a/puntti/src/puntti/Liike.java +++ b/puntti/src/puntti/Liike.java @@ -113,6 +113,26 @@ public class Liike { } + + /** + * palauttaa liikkeen tiedot merkkijonona jonka voi tallentaa tiedostoon. + * @return liike tolppaeroteltuna merkkijonona + * @example + * <pre name="test"> + * Liike liike = new Liike(); + * liike.parse("7 | kyykky | leveä"); + * liike.toString.startsWith("7|kyykky|leveä") === true; + */ + @Override + public String toString() { + return "" + + getLid() + "|" + + liike + "|" + + oteLeveys + "|" + + stoppi + "|" + + syvyys + "|" + + suoritusValine; + } /** * @param args ei käytössä diff --git a/puntti/src/puntti/Liikkeet.java b/puntti/src/puntti/Liikkeet.java index bd21f1767d97c56ea567d0de87d53c74795fc563..d33da0ae5fcc30212ecc6b6de2834dbf558a8998 100644 --- a/puntti/src/puntti/Liikkeet.java +++ b/puntti/src/puntti/Liikkeet.java @@ -1,5 +1,10 @@ package puntti; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.PrintStream; + /** * * |------------------------------------------------------------------------| @@ -86,6 +91,24 @@ public class Liikkeet { return lkm; } + /** + * @param hakemisto mihin hakemistoon tehdään uusi tiedosto + * @throws SailoException jos tallentaminen ei onnistu + */ + public void tallenna(String hakemisto) throws SailoException { + File tiedosto = new File(hakemisto + "/liikkeet.dat"); + try (PrintStream fo = new PrintStream(new FileOutputStream(tiedosto, false))){ + for (int i=0; i<this.getLkm();i++) { + Liike liike = this.anna(i); + fo.println(liike.toString()); + } + + }catch (FileNotFoundException e) { + + throw new SailoException("Tiedosto "+ tiedosto.getAbsolutePath() + " ei löydy"); + } + } + /** * @param args ei käytössä @@ -118,6 +141,11 @@ public class Liikkeet { System.out.println(ex.getMessage()); } + try { + liikkeet.tallenna("batman"); + } catch (SailoException e) { + System.err.println(e.getMessage()); + } diff --git a/puntti/src/puntti/Puntti.java b/puntti/src/puntti/Puntti.java index 380b969cb50d08f4504651d709cab86adee7b5e9..b9b23c33aeaaf7730a564f5784121f3f2e3540ca 100644 --- a/puntti/src/puntti/Puntti.java +++ b/puntti/src/puntti/Puntti.java @@ -123,6 +123,15 @@ public class Puntti { } + /** + * tallentaa kerhon tiedot tiedostoon + * @param nimi käyttäjän hakemiston nimi + * @throws SailoException jos tallennus ei onnistu + */ + public void tallenna(String nimi) throws SailoException { + liikkeet.tallenna(nimi); + } + /** * Testiohjelma Puntti.javalle