From 9c4166a8f8acc4b1ea07d639c86573b6840fa898 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A4sp=C3=A4=20Vili=20Valtteri?= <vili.v.laspa@student.jyu.fi> Date: Sat, 29 Mar 2025 19:32:29 +0200 Subject: [PATCH] liikeiden tallentaminen tiedostoon alku --- puntti/Puntti.jar | Bin 236750 -> 236750 bytes puntti/batman/liikkeet.dat | 2 ++ puntti/src/puntti/Liike.java | 20 ++++++++++++++++++++ puntti/src/puntti/Liikkeet.java | 28 ++++++++++++++++++++++++++++ puntti/src/puntti/Puntti.java | 9 +++++++++ 5 files changed, 59 insertions(+) create mode 100644 puntti/batman/liikkeet.dat diff --git a/puntti/Puntti.jar b/puntti/Puntti.jar index 6db2e2c9ba350029eed79af235b0eb702a0bc941..d3a355d638f17ffdc78efa28f3eb31cb614c6e26 100644 GIT binary patch delta 1179 zcmX@NlkeP4KHdOtW)?061`Y-W!HSxRyc)~`6*U_zKG-ptCT`ZUH<I9$D$I#G9CUKm zR%Ql<d6P54Lz$*oO+FBARWG_@U;gWTSHFDCdQkCo+0*dOhZ7{K%+9zkdpG0Vu6<i} zC9eI+vr_Z+*1wr;DH}tQC*)P~ujQHKk*=tGwBXQ&*lfcaF<YfVi?42!_|&#N&B}Ch zBKJPkDS!0esvTZ%@$Ek@Nv?-IuV?-Kw2_nTtDfYI*<ok%ZawL|GB5wvw&#<!%ds8K zUh`U-adLfxX#Fh7FN@+;3>_|tKKC+hls@ywcTU;_+1;75cy=xl+`iIf#r91W-Aq4? zlMforQPFpcICx;Y?A;BTO03T%f2B*`OWV1jU&kV3Q&D2gCkeerM#oj#%&pFDs*rZ& zTAf*++d6gr=?7fviZZ5raXe>ycG*>h4+3qj28!j+S05-@VfNRx{_%pDr|S-vUDy8n zdFiaC@?ESZhDyr6R7HA9U1LutFugB|S^h~TrttD-nbRekXSmF4v^Sc2AnI4s!u1vF zQ)C)LU0wx8?qN5Ke7&e@`K_znXX9O;)H<hF95(nVuPM9LLQBx|{;OH%Ry0}1PJPT} z_hQwOmp;E8cmK6~eBr@GkI%aGr`KM8EBLD5xx&`a>$k3C%$CXyew^zS^Q_|bziru_ zr>pq*r9yXozMGr>cK_Z(if=;FH7=)A*W5I}{)+oqSjM4`k;nBqvd&J3{MK}AmT5Nk z`kg;s%Zeq;VKz0EQdpE>dttip^2;Y*Oj-ZNp;Bm-@fY9LL&6qr_j6ble72YyqIaoY z%|m=))e9B(&ifn_)vDf07HL~sWZF2t@7mM6kM-@V^8u{tg4<W{Znapb?LABD=$6#T z;HNw6mabeWcAoXT=~UtM6F>Mwo}BN!`c!aC!jCd>Ro||bDt))4M}Jmq=`IZQv~yK$ zTzLG!rTz(%RBj*r{d4xjAg-ya?yS68@#JHf+PnIEvv>Ya=c+Ag35qxrdCSegUW8`> zzn1MP$DWH^yL&IMc*G-jY0;|14Y{w*np^b0FJQD6e5I=QkU!?w{4E)A3njKas0+Cj z#x3%vncvX;==q2GXC5nO9gjRD?V@VfbAO}5l$OjtU9O8#e%T!q3e>bY!2e^0hF^Jo zzkk8>J-XXxImmdfQu#SWrCxb!`|%`O<31Vp_Y?oSs#s*n2v@WGkB>1rw9)p|UsG$D z%DsFmdFHpTPk0&+%Xl0N9EqF#qpz|u12f=c^+Y)^?UASirgIb3K=kHmiP1?cKt|N` z1rM2|Hwzs3w-hA4T`-IBk}R0@tevq(8q6wP%vkjk%=$EkNy8S*lD)-b+yY`v4~}ED z0A=#+eR0fgtiWu({aP~f3P#j?KD|4Y*`A3bar&85<|$xp$!W}bV8)a*W+O1;RXMZt z^e1V|5KEcTnJ=?KT-Y^@S!(;|9Of@vAa&b;>S`FltjtR08YZw_AWM2Xa}6`U2v|aN Q0`oGk|F`d($}GSR0OL*-)c^nh delta 1179 zcmX@NlkeP4KHdOtW)?061`Y;>?Up$cc{P}~S>|lC_+ZDh)^f9!y^#d(TFacMK1s<r zTbUUc=1$HG4`rHUJ^4VmRsGeH<^$K5PxF7ty8Q9gKGBfQhZ7{K%+9zkdpG0Vu6<i} zC9Y-VS*dw@Yjb8>%Epl733-+LYk4Mlq$?^PEjY9xHhbgFomr-<o~=qYe8QW5wj?X< zuvm?^25bB+yTc1EzWv7~$@Q@3^{n5YHgd9k)swt2JM8SY+)pl9`UcFmi%&-PvpqDu z_O(}Sa(#qo{U4sHi~5r!7QE;xUOMXlZ`wySKjRa9Z)dAHugf@+t0nkqt<Jec4*$+X zY~WEp*)15hLGngl-VKq7O`m!GZsyJ39CO26Ohzkmr-5B1k9gtC$3lmt=cYyO=~Zfd zdOJQk@#%A;9Zjocq*QAseC~N4&CA4}7{MZ3RK7237T?un`!nigOo}ZtZoI2Xt=kt8 z{K0Q~gPL24%l?+8jq6rqOZq&B?Ry<EuUR{<YF_fpJh90d#vk05UEVTnU&0IRd)kuj z38E8!g^0a(^trZc#l4kfUz0wE3s&A2kUVGL^UvMOUANE6<<j<D%Zyh&@C$#sqltf) zR;Ja|1$Y0>Da?46vFPWtr}fuff8#LSQQUWHRd#OH7T?~jD?ggKmM@jfx4u!PTNru% zq2*$ya=YDc*Zy4|ZqYLL6;JA{oPK@wXHm5W?{N8A*u9Qm4O}T{bUJSH#<a7y4rS~8 zt7vDHc<!*b=UKbPExs>LkGw1~vU;j*9Wbxu6;EyO!VfHc7tN&^U)cDmPwn1P&w0sp zg`CyNz(?jzOFHjWx7|6#=O=ak!fvJa3-TRz|1u6a=y^mp%URd&#i>clybN<AuZ38y z^Uus$b+q_kvG3C(*(x@{VV|B~TJ=dpTw>o{SI@~x3-5JLoMB<F^)@LcbdrCdXTl4^ z9bc4}sGKbOSobe&$rPuhTIE@$a+Q1LcK)uP-TOPZa(So5LXl|&)20bt;Adri(d?C< zC6K)3VBTYsRTj<dTb94lNSIyqnfKgd>zD)nEmfV~KbWU~RDU}&T%%2Qhy2uSSD9G< zKX5)1__6p0_varSw+g3yU<>r*d0eg|pqePPKWU=I%zgeFTtc|`KQP;=bzQ!D|FQ5L z)%??I)g0U>X?fbIp1kkz_Tk1G=X#WnU#xyoFUZ*^b^M6j!T;jZdkS*;i|WtvxyP+{ z);j$Bp?1ViaahLVU;ySc|LCi%%)ksdSv^q>OnW3Mf$7{tH4wddT4Hn(3y={teZfN} z>CFO1{w)QGZx_sByd(=|J!@y|kp{C$7c*A<1hYQPVbZV#vt(~E8MlB~(}UxfEkK!k zdtV&08!IrIZ@-qzyn+!mpHJ^jWwr;(O+S;$JO!*RIgMEl%$SnKYy@V!Drc6S{v?eV zVkuKP^JP|u3%jN<OKtz0!~BH{q;5M<T@53cm08JL!vxj~WJzylu3_dE0ZWKZU|t6H L|Mq=TnFZJZ3RV~@ diff --git a/puntti/batman/liikkeet.dat b/puntti/batman/liikkeet.dat new file mode 100644 index 0000000..6a69d3d --- /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 fbcdfb0..db16024 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 bd21f17..d33da0a 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 380b969..b9b23c3 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 -- GitLab