Tiedostojen käsittely

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()
6. Metodit.
© Jukka Harju, Viittausmuuttujat. © Jukka Harju, Viittaukset •Viittausmuuttuja sisältää tiedon siitä missä muistipaikassa olio.
16. Javan omat luokat.
© Jukka Harju, Jukka Juslin1 Java-ohjelmointi opas ammattimaiseen osaamiseen Luku 6 (osittain) Tiedostot.
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: Array Taulukko Javassa pitää aina perustaa (new)
Taulukoiden määrittely, käsittely ja kopiointi Vaihtoehdot taulukoille
22. Taulukot.
Ohjelmointitaito (ict1td002, 12 op) Syksy 2008
Näytölle tulostaminen. 7.2 Sisällys System.out.println - ja System.out.print -operaatiot. Tulostus erikoismerkeillä. Edistyneempää tulosteiden.
1 Ohjelmointiprojekti I (2 ov) kevät 2005 Lehtori Jussi Salmi Luentoja 10 tuntia, Ryhmätyö.
OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT. LUOKKA JAVA ohjelma koostuu luokista LUOKKA sisältää metodeja molemmat sisältävät attribuutteja eli muuttujia.
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
TIETOKONEOHJELMAN RAKENNE OHJELMALLA ON KAKSI OSAA  MÄÄRITYSOSA TIETOJEN KUVAUKSIA VARTEN  SUORITUSOSA TIETOJEN KÄSITTELYÄ VARTEN.
Poikkeuskäsittely- lohkot tMyn1 Poikkeuskäsittelylohkot try-catch Poikkeustilanteiden käsittelymekanismi toteutetaan varatuilla sanoilla try, throw ja.
Ohjelmointiprojekti I (2 ov) kevät 2003
© 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 Juslin
1 Kertaus koetta varten oleellisista asioista Jukka Juslin.
Map-luokka Mikä Map on? Mapin esittely ja luonti Map-luokan metodeja Mappiin lisääminen Mapin läpikäynti Mapista poistaminen 1.
Metodit – Arvotyyppi Ellei metodi palauta arvoa, sen arvotyyppi on void Tällöin ”return;”-lauseke ei ole metodissa pakollinen, vaikka sen käyttö on sallittua.
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.
HelloWorld-ohjelma. 5.2 Sisällys Lähdekoodi. Lähdekoodin (osittainen) analyysi. Lähdekoodi tekstitiedostoon. Lähdekoodin kääntäminen tavukoodiksi.
1 Tietovirrat ja niiden suunnat Tietovirralla on aina suunta Tiedostoon tallentaessa käytetään OutputStream-luokasta perittyjä luokkia Tiedostosta luettaessa.
4. Attribuutit 4.1. Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2.
5. Kapselointi Yleistä Kapseloinnilla (encapsulation) tarkoitetaan luokan tietojen ja toimintojen pakkaamista yhdeksi suojatuksi kokonaisuudeksi.
10. Abstrakti luokka Johdanto Abstrakti luokka (abstract class) poikkeaa konkreettisesta luokasta (ei-abstrakti luokka) siten, että siitä ei.
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
Näppäimistöltä lukeminen Sisällys Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä. In -luokka.
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Ä.
1 Tenttialue 1/6 Oliot ja luokat Olioiden määrittely Java-kielessä Attribuutit ja metodit Näkyvyysalueet Staattiset attribuutit / metodit Konstruktorit.
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.
Poikkeustenkäsittely- lohkot tMyn1 Poikkeustenkäsittelylohkot try-catch Poikkeustilanteiden käsittelymekanismi toteutetaan varatuilla sanoilla try, throw.
Olioiden taulukointi Perustaulukon käyttö Luokan ilmentymät voidaan tallettaa taulukkoon samoin kuin muuttujat Esimerkki talletetaan taulukkoon opintojaksojen.
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.
5. Kapselointi.
6. Tiedostot.
Poikkeustenkäsittelylohkot try-catch
14. Poikkeukset.
Kuinka niitä käsitellään
8. Näppäimistöltä lukeminen
3. Luokat, oliot ja metodit Java-kielessä (Lausekielinen ohjelmointi I ja II –kursseilla opitun kertausta.)
19. Tietovirrat.
8. Näppäimistöltä lukeminen
Kuinka niitä käsitellään
Aakkosnumeerinen tieto
14. Poikkeukset.
14. Poikkeukset.
4. Luokan testaus ja käyttö olion kautta
eli oliotiedostojen käsittely
Esityksen transkriptio:

Tiedostojen käsittely Tiedoston luku ja tallennus Poikkeusten käsittely Oliot tiedostoissa

Tiedostot Tiedostojen käyttöä tarvitaan kun halutaan esimerkiksi säilyttää tietoa eri ohjelman ajokertojen välillä Rekisterit Asetustiedostot Tulosteet

Tiedostot Tiedostoja käsitellään Javassa tietovirtojen kautta Vastaavia tietovirtoja käytetään Javassa komentoikkunaan tulostukseen ja verkon yli tapahtuvaan tiedonvälitykseen

File-luokka File +File(String) +boolean canRead() +boolean canWrite() +boolean exists() +String getAbsolutePath() +boolean isFile() +boolean isDirectory() +boolean length() +boolean createNewFile() +boolean delete() +boolean mkdir() ... Javan File-luokka sisältää yksittäisen tiedoston tai hakemiston käsittelyyn liittyviä toimintoja File-luokka löytyy java.io-paketista (import java.io.File)

File-luokka – esimerkki import java.io.File; ... File file = new File(”phonebook.txt”); if (!file.exists()) { if (file.createNewFile()) System.out.println(”File created succesfully.”); else System.out.println(”Couldn’t create file.”); } else { System.out.println(”File phonebook.txt already exists.”); Esimerkki vaatii toimiakseen poikkeusten käsittelyn.

Poikkeukset Tiedostojen käsittelyssä voi tapahtua monentyyppisiä virheitä Oikeudet järjestelmässä Levytila Tiedostojen olemassaolo Virheiden helppoa hallinnointia varten on Java-kielessä käytössä poikkeukset

Poikkeukset Poikkeukset ovat olioita, joita ohjelmakoodista voidaan heittää (throw) Poikkeukset on otettava kiinni koodissa (catch) Poikkeuksia sisältävän koodin suoritus tehdään try-catch -lohkossa

Poikkeukset tiedostojen käsittelyssä Tiedostojen käsittelyssä File-luokka voi heittää IOException-tyyppisen poikkeuksen (löytyy java.io.IOException-paketista) Kääntäjä ei käännä koodia ellei poikkeuksia ole otettu kiinni

Poikkeusten käsittely import java.io.*; ... try { // Poikkeuksia mahdollisesti aiheuttava koodi tähän } catch (IOException e) { // Poikkeuksen käsittely

Poikkeusten käsittely Javan API-luokkien metodien heittämät poikkeukset on kuvattu Javan API-dokumentaatiossa Poikkeusten kiinniotto kuuluu kurssin sisältöön, mutta niiden heittäminen ei (OH2 keväällä)

Tietovirrat ja niiden suunnat Output stream Koodi Tiedosto Koodi Tiedosto Input stream Tietovirralla on aina suunta Tiedostoon tallentaessa käytetään OutputStream-luokasta perittyjä luokkia Tiedostosta luettaessa käytetään InputStream-luokasta perittyjä luokkia

OutputStream ja InputStream OutputStream (abstrakti) FileOutputStream Tallennus tavuina ObjectOutputStream Olioiden tallennus FilterOutputStream (abstrakti) DataOutputStream Perustietotyyppien tallennus InputStream (abstrakti) FileInputStream Ylläolevilla luokilla tallennetun tiedon lukemiseen käytettävät luokat ObjectInputStream FilterInputStream (abstrakti) DataInputStream

Tietovirtojen käyttö Tiedostoon tallennus Tiedoston luku Avataan tiedosto tallennusta varten Alustetaan tallennustietovirta Kutsutaan tietovirran metodeja tiedon tallentamiseksi Tyhjennetään tietovirta levylle Suljetaan tietovirta ja tiedosto Tiedoston luku Avataan tiedosto lukua varten Alustetaan lukutietovirta Kutsutaan tietovirran metodeja tiedon lukemiseksi Suljetaan tietovirta ja tiedosto

FileInputStream - esimerkki try { File file = new File(”tiedosto.bin”); FileInputStream inStream = new FileInputStream(file); byte[] inputArray = new byte[5]; inStream.read(inputArray); // lukee 5 tavua System.out.println(inputArray); } catch (IOException e) { System.out.println(”ERROR: ” + e);