© Jukka Harju, Jukka Juslin1 Java-ohjelmointi opas ammattimaiseen osaamiseen Luku 6 (osittain) Tiedostot.

Slides:



Advertisements
Samankaltaiset esitykset
Tuloksellinen Java-ohjelmointi Luku 3 Luokkien käyttäminen
Advertisements

Minimaalinen Java-ohjelma •Kaikki ohjelmakoodi on luokkamäärityksen sisällä •Ohjelma käynnistyy ”public static void main(String[] args)”-metodista •System.out.print()
© Jukka Juslin1 Ohjelmointitaito (ict1td002, 12 op) Opintojakson esittely Kevät 2008 Jukka Juslin, Raine Kauppinen Tuloksellinen Java-ohjelmointi.
Java-ohjelmointi Opas ammattimaiseen osaamiseen Lisäosa: GUI
6. Metodit.
© Jukka Harju, Viittausmuuttujat. © Jukka Harju, Viittaukset •Viittausmuuttuja sisältää tiedon siitä missä muistipaikassa olio.
© Jukka Harju, Jukka Juslin1 Java-ohjelmointi opas ammattimaiseen osaamiseen Luku 13 Monimuotoisuus.
© Jukka Harju, Jukka Juslin1 Java-ohjelmointi opas ammattimaiseen osaamiseen Luku 12 Periytyminen.
Nämä kalvot on lisensoitu Creative Commons Attribution-ShareAlike 1
Tuloksellinen Java-ohjelmointi Luku 9 Taulukot ja perustietorakenteet
Jukka Juslin Poikkeukset ja niiden paikallistaminen * Jukka Juslin * Liittyy oppikirjan lukuun 11.
Taulukot Jukka Juslin © Jukka Juslin 2006.
Taulukot: Array Taulukko Javassa pitää aina perustaa (new)
22. Taulukot.
Käännösaikaiset virheilmoitukset • Tulee silloin, kun koodissa on jotain sellaista, joka ei ole Javan syntaksin mukaista • Esim. – Syntax error, insert.
Ohjelmointitaito (ict1td002, 12 op) Syksy 2008
© Jukka Harju, Jukka Juslin
13. Pakkaukset.
Näytölle tulostaminen. 7.2 Sisällys System.out.println - ja System.out.print -operaatiot. Tulostus erikoismerkeillä. Edistyneempää tulosteiden.
Auli Jaakkola 1 Palkkatiedustelun tietomallin mukaisen tilastovastauksen luonti Tässä esimerkissä tiedosto tuotetaan excelistä csv-muotoon. 1.Oletetaan,
Java-ohjelmointi Opas ammattimaiseen osaamiseen Luku 4 Toistolauseet
© Jukka Harju, Jukka Juslin1 Java-ohjelmointi Opas ammattimaiseen osaamiseen Luku 4 Ehto- ja toistolauseet.
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
1 Tulostaminen ja tiedostot. 2 Tulostaminen paperille n Tulostus voidaan tehdä esimerkiksi: –Crystal Reports -raporttigeneraattorilla –Printer-objektin.
© Jukka Harju, Jukka Juslin Java-ohjelmointi Opas ammattimaiseen osaamiseen Luku 9 Poikkeuskäsittely.
Poikkeustenkäsittely  Mitä poikkeustenkäsittely tarkoittaa?  Poikkeuksen käsitteleminen  Poikkeusluokkien hierarkia  Poikkeuksen heittäminen 1.
© Jukka Harju, Jukka Juslin1 Tuloksellinen Java-ohjelmointi Luku 4 Ehto- ja toistolauseet Tuloksellinen Java-ohjelmointi.
Toiston tekeminen Javalla  Mikä toistorakenne on?  while toistorakenne  do-while toistorakenne  for toistorakenne 1.
© Jukka Harju, Jukka Juslin
1 Kertaus koetta varten oleellisista asioista Jukka Juslin.
Java-ohjelmointi Opas ammattimaiseen osaamiseen Luku 2 Ensimmäiset ohjelmat © Jukka Harju, Jukka Juslin.
Map-luokka Mikä Map on? Mapin esittely ja luonti Map-luokan metodeja Mappiin lisääminen Mapin läpikäynti Mapista poistaminen 1.
String-vertailusta ja Scannerin käytöstä (1/2)
20. Javan omat luokat.
Kuinka niitä käsitellään
Tietovirrat ja tiedostot. Anne Benson Tiedon koodaus it-järjestelmissä pienin tietoyksikkö bitti –kaksi tilaa: nolla (sähkövirtaa ei ole) yksi (sähkövirtaa.
1 DataOutputStream ja DataInputStream DataOutputStream:lla voidaan tallentaa perustietotyyppien arvoja binäärimuotoiseen tiedostoon DataInputStream:lla.
1 Tietovirrat ja niiden suunnat Tietovirralla on aina suunta Tiedostoon tallentaessa käytetään OutputStream-luokasta perittyjä luokkia Tiedostosta luettaessa.
5. Kapselointi Yleistä Kapseloinnilla (encapsulation) tarkoitetaan luokan tietojen ja toimintojen pakkaamista yhdeksi suojatuksi kokonaisuudeksi.
Näppäimistöltä lukeminen Sisällys Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä. In -luokka.
© Jukka Harju, Jukka Juslin1 Tuloksellinen Java-ohjelmointi Lisäosa: GUI Tuloksellinen Java-ohjelmointi.
22. Taulukot.
Poikkeukset Yleistä Virheeseen varautuminen tarkoittaa sitä, että ohjelmoija huomioi koodia kirjoittaessaan ajonaikaisen virheen mahdollisuuden.
© Jukka Juslin1 Tiedostot Tuloksellinen Java-ohjelmointi.
Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen
@ Leena Lahtinen TIETOKONEOHJELMAN RAKENNE OHJELMALLA ON KAKSI OSAA:  MÄÄRITYSOSA TIETOJEN KUVAUKSIA VARTEN  SUORITUSOSA TIETOJEN KÄSITTELYÄ.
© Jukka Juslin1 Osio2 Olio-ohjelmointi: Merkkijonot eli Stringit Jukka Juslin.
ict1td002 - Copyright Raine Kauppinen 1 Tietovirrat  Tietovirran käsite  Tietovirtojen käyttö  Tekstitiedoston luku  Tekstitiedoston kirjoitus.
Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Poikkeukset ja tietovirrat: Virhetilanteiden ja syötevirtojen käsittely.
2. Lisää Java-ohjelmoinnin alkeita
© Jukka Harju, Jukka Juslin1 Tuloksellinen Java-ohjelmointi HashMap, Properties, Logger, etc Tuloksellinen Java-ohjelmointi.
Tiedostojen käsittely
Tuloksellinen Java-ohjelmointi Luku 2 Ensimmäiset ohjelmat
Olioiden taulukointi Perustaulukon käyttö Luokan ilmentymät voidaan tallettaa taulukkoon samoin kuin muuttujat Esimerkki talletetaan taulukkoon opintojaksojen.
Java - Tietokanta. JDBC=Java database connectivity  ODBC:n kaltainen ohjelmointiliittymä SQL- tietokantoihin  Koostuu Java-kehitysympäristön (esim.
Javan oliovirrat eli oliotiedostojen käsittely. Olio- eli objektitiedostojen käsittely Käsittely täysin samanlaista kuin muiden tiedostojen 1.Otetaan.
1 © Jukka Juslin Luokat, attribuutit ja metodit Yleistietoa: seuraavalla koulutusviikolla tarkempi käsittely.
14. Poikkeukset Sisällys Johdanto poikkeuksiin. Poikkeusten käsittely: − Poikkeusten käsittely paikallisesti. − Poikkeusten heittäminen. Exception.
Sähköpostin lähetys Java- ohjelmasta Jukka Juslin.
Anne Benson Tietovirrat ja tiedostot. Anne Benson Tiedon koodaus it-järjestelmissä pienin tietoyksikkö bitti –kaksi tilaa: nolla (sähkövirtaa ei ole)
Tiedostot. 8.2 Sisältö Johdanto. Tiedostojen lukeminen. Tiedostojen kirjoittaminen.
String-vertailusta ja Scannerin käytöstä (1/2)
6. Tiedostot.
Tuloksellinen Java-ohjelmointi
Kuinka niitä käsitellään
8. Näppäimistöltä lukeminen
8. Näppäimistöltä lukeminen
Kuinka niitä käsitellään
4. Luokan testaus ja käyttö olion kautta
eli oliotiedostojen käsittely
Esityksen transkriptio:

© Jukka Harju, Jukka Juslin1 Java-ohjelmointi opas ammattimaiseen osaamiseen Luku 6 (osittain) Tiedostot

© Jukka Harju, Jukka Juslin2 Nämä kalvot on lisensoitu Creative Commons Attribution-ShareAlike 1.0 -lisenssillä. Lisäys edelliseen lisenssiin: Kalvojen muokkaaminen on sallittu vain opettajille, joiden kursseilla käytetään kurssikirjana Tuloksellinen Java-ohjelmointi – tai Java ohjelmointi opas ammattimaiseen osaamiseen -kirjaa.Creative Commons Attribution-ShareAlike 1.0 -lisenssillä

© Jukka Harju, Jukka Juslin3 Tiedostot •Tiedosto tietovirtana •Tiedostosta luku •Tiedostoon kirjoitus ja tiedoston luonti •Tiedoston päivitys •Tiedosto ja tietorakenteet (CSV) •Tiedoston poisto

© Jukka Harju, Jukka Juslin4 Tiedosto tietovirtana •Jotta ohjelma olisi hyödyllinen on sen yleensä talletettava tietoa johonkin •Eräs tietyssä mielessä yksinkertainen tapa on tallettaa tietoa on tiedosto –Esimerkiksi useimmat tietokonepelit käyttävät paljon tiedostoja hyväkseen •Muita ns. tietovirtoja ovat esimerkiksi www-sivun lukeminen (Javalla helppoa) tai tietokannat

© Jukka Harju, Jukka Juslin5 Tiedosto tietovirtana •Oleellista tiedostoja koskien on tietää oletuspolku, jossa tiedostojen kanssa operoidaan •Eclipsen kanssa oletuspolku on kyseinen projektin hakemistotaso siinä työtilassa, missä ollaan

© Jukka Harju, Jukka Juslin6 Tiedostosta luku •Tiedostosta luku onnistuu helpoiten Scanner-luokan avulla (seuraava olettaa että tiedostossa on yksi rivi): import java.io.File; import java.util.Scanner; … try { Scanner scan = new Scanner(new File(”tunnit.txt”); while(scan.hasNext()) { String rivi = scan.nextLine(); } } catch(Exception ex) { System.out.println(”Tiedostoa ei löydy”); }

© Jukka Harju, Jukka Juslin7 Tiedostoon kirjoitus •Tiedostoon kirjoitus onnistuu PrintWriter-luokkaa käyttäen (seuraavassa kirjoitamme Stringin tiedostoon): try { PrintWriter ulosKirjoitus = new PrintWriter(”tiedosto.txt”); ulosKirjoitus.print(”JaadaJaada\n”); ulosKirjoitus.close(); } catch(IOException ex) { System.out.println(”Tiedostoon kirjoitus ei onnistunut”); }

© Jukka Harju, Jukka Juslin8 Tiedostojen käytöstä (CSV) •Yksi yleisimpiä tiedostojen käyttöön liittyen ovat CSV-tiedostot (Comma Separated Values) •CSV-tiedostoissa yhden kentän erotinmerkkinä on ; (puolipiste) ja yksi rivi loppuu \n (rivinvaihtomerkkiin) •CSV tiedoston yhden rivin käsittely käy suhteellisen kätevästi esimerkiksi tekemällä rivin kenttien määrän mukaisen taulukon ja splittaamalla (käyttämällä String-luokan split- metodia) siihen rivin kentät

© Jukka Harju, Jukka Juslin9 Tiedoston tuhoaminen •Tiedoston tuhoaminen onnistuu File-luokan metodilla delete() •Esimerkiksi: File tiedosto = new File(”tiedosto.txt”); tiedosto.delete();

© Jukka Harju, Jukka Juslin10 Tiedostoon lisääminen •Monesti halutaan luonnollisesti lisätä tiedoston loppuun esimerkiksi rivejä tuhoamatta alkuperäistä tiedostoa –Tällaista toimintoa kutsutaan nimellä append •Appendauksen voisi tehdä lukemalla olemassaolevan tiedoston ArrayListiin ja kirjoittamalla sieltä muistissa olevat, mutta tämä on kohtuuttoman työlästä ja vaikeaa •Linux käyttöjärjestelmissä append tekstitiedostoon suoritetaan komennolla >> (ohaa tietovirtaa)

© Jukka Harju, Jukka Juslin11 Tiedostoon lisääminen •Appendaus java-ohjelmassa käy antamalla FileWriter oliolle toisena parametrinä true, jos halutaan appendata (katso myös API:sta, shift+F2) •FileWriter olio annetaan parametrinä PrintWriter oliolle •Seuraavalla kalvolla esimerkki

© Jukka Harju, Jukka Juslin12 Tiedostoon lisääminen

© Jukka Harju, Jukka Juslin13 Tiedostot ja properties-konfiguraatio •Properties (tiedoston loppupääte.properties) tarkoittaa esim. konfiguraatiotietojen tallentamista tiedostoon •Tallennusmuoto on seuraavanlaista: tmp = C:/TEMP server = norsu.firma.fi •Tämänmuotoiset avain-arvoparit on kätevintä lukea HashMap (esim. PHP:ssä vain Hash) tietorakenteeseen ja siihen onkin Javassa valmis mekanismi

© Jukka Harju, Jukka Juslin14 Properties alkuarvojen lukeminen •Alkuarvojen lukeminen properties-tiedostosta menee seuraavaan tapaan (oppikirjan sivu 164): import java.util.Properties; import java.io.*; … // alkuarvojen lukeminen Properties alkuarvot = new Properties(); File propsiTiedosto = new File(”jukan.properties”); FileInputStream in = new FileInputStream(propsiTiedosto); alkuarvot.load(in); // alkuarvojen tulostaminen System.out.println(alkuarvot.get(”tmp”)); System.out.println(alkuarvot.get(”server”));