Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Anne Benson Tietovirrat ja tiedostot. Anne Benson Tiedon koodaus it-järjestelmissä pienin tietoyksikkö bitti –kaksi tilaa: nolla (sähkövirtaa ei ole)

Samankaltaiset esitykset


Esitys aiheesta: "Anne Benson Tietovirrat ja tiedostot. Anne Benson Tiedon koodaus it-järjestelmissä pienin tietoyksikkö bitti –kaksi tilaa: nolla (sähkövirtaa ei ole)"— Esityksen transkriptio:

1 Anne Benson Tietovirrat ja tiedostot

2 Anne Benson Tiedon koodaus it-järjestelmissä pienin tietoyksikkö bitti –kaksi tilaa: nolla (sähkövirtaa ei ole) yksi (sähkövirtaa kulkee) -8 bittiä muodostavat tavun eli merkin -merkkijärjestelmiä on erilaisia riippuen siitä, kuinka 8 (7) bittiä on organisoitu,esimerkiksi ASCII (American Standard Code for Information Interchange) ISO Latin-1 -DOS ASCII -EBCDIC (IBM suurkoneet)

3 Anne Benson Tavuista tieto eli kenttä Tavut muodostavat tiedon: Javan alkeismuuttujat (fyysinen organisointi) –int 4 tavua –double 8 tavua Loogisia, käyttäjän tietoja auton rekisteritunnus (String) AAa – Nnn vähintään kaksi kirjainta ja yksi numero henkilötunnus ppkkvvA/+/-nnnD,

4 Anne Benson Kentistä tietokokonaisuuksia (tietueita) Esimerkiksi nide tositteen tiedot kuorma-auton tiedot opiskelijan tiedot

5 Anne Benson Tietueista tiedostoja ja tietokantoja Esimerkiksi asiakkaat tuotteet tilaukset opiskelijat

6 Anne Benson Java ja tietovirrat -standarditietovirrat -merkkivirrat -poikkeustilanteisiin varautuminen

7 Anne Benson Tietovirrat IPO InputProcessOutput Syöttö Input Tulostus Output Käsittely Process Tietovarastot näppäimistö viivakoodi toinen prosessi verkon yli tiedosto tietokanta jne näyttö kirjoitin toinen prosessi verkkoon tiedosto tietokanta jne

8 Anne Benson Javan tietovirrat Fyysisiä laitteita Mistä tieto luetaan? Miten tieto käsitellään? Minne käsitelty tieto kirjoitetaan?

9 Anne Benson Javan tietovirrat : java.io – pakkaus Tiedon kaksi esitystapaa Pienin tiedon talletusyksikkö  Tavu, muodostuu kahdeksasta bitistä: mikä tahansa tieto InputStream OutputStream  Merkki, muodostuu kahdesta tavusta (16 bittiä): tekstimuotoinen tieto Reader Writer

10 Anne Benson Merkkivirtaa luetaan näppäimistöltä 1.Määrittele tiedon lähde BufferedReader in = new BufferedReader (new InputStreamReader(System.in)); Java.lang-pakkauksen System.in: lähettää tavuvirtaa Talletetaan merkkivirtaa, enter lopettaaVäliaikainen talletuspaikka syöttöpuskuri: BufferedReader Tiedon lukeminen näppäimistöltä

11 Anne Benson 1.Tieto lähtee tavuina näppäimistöltä -> muunnetaan matkalla syöttöpuskuriin merkkivirraksi (javan io-luokkien tehtävä) 2.Scannerin metodit nextInt(), nextDouble() jne muuntavat tiedon haluttuun muotoon 3.Jos sovelluksessa luetaan tieto ilman Scanneria, täytyy tehdä tiedon muunto Stringistä Tiedon lukeminen näppäimistöltä

12 Anne Benson Javan tietovirrat Näppäimistöltä tuleva merkkivirta BufferedReader InputStreamReader InputStream System.in Merkkivirran lukemiseen tarvitaan luokat:

13 Anne Benson Javan tietovirrat Näppäimistöltä tuleva merkkivirta BufferedReader in = new BufferedReader (new InputStreamReader(System.in)); Mihin tieto talletetaan: Puskuri varataan lukemista varten Mistä tieto saadaan: näppäimistöltä mistä tieto hankitaan – minne tieto talletetaan Missä muodossa tieto saadaan? Luetaan tavuja, koodataan merkeiksi

14 Anne Benson Javan tietovirrat Tietovirran määrittelyssä tarvitaan seuraavat tiedot: miten sovellus käsittelee tietoa missä muodossa tieto luetaan/kirjoitetaan: tavu, merkki, int, double jne mikä on tiedon fyysinen lähde/kohde: levy, kirjoitin, toinen sovellus jne

15 Anne Benson Javan tietovirrat Tulostaminen näytölle Tulostaminen näytölle 1.System.out.print – kirjoittaa riville, kirjoituksen jatkokohta jää samalle riville 2.System.out.println - aloittaa kirjoituksen uudelta riviltä Huomaa: System.out ja System.in ovat System-luokan attribuutteja. Ne määrittelevät aina työasemakohtaisen standardisyöttö- ja tulostusvirran. Eli ”System” on työasema, järjestelmä jossa sovellus tällä hetkellä toimii

16 Anne Benson Javan tietovirrat Tekstimuotoisen tiedoston käsittely 1.Kirjoitetaan tiedosto 2.Luetaan tiedoston sisältö ja tulostetaan näytölle Muistetaan varautua virhetilanteisiin

17 Anne Benson Tekstitiedoston kirjoittaminen 1.Luetaan esimerkiksi näppäinsyötteenä annettavat rivit 2.Kirjoitetaan tiedosto Muistetaan varautua virhetilanteisiin

18 Anne Benson Tekstitiedoston kirjoittaminen 1.Määrittele fyysinen tiedosto File 2.Ohjelmalle kirjoitusalueeksi PrintWriter 3. Kirjoitettavan tiedoston muoto FileWriter

19 Anne Benson Tekstitiedoston kirjoittaminen File tiedostoNimi = new File (”C:\\temp\\testi.txt”); PrintWriter kirjoitin = new PrintWriter (new FileWriter(tiedostoNimi));

20 Anne Benson Tekstitiedoston kirjoittaminen -muodostetaan kirjoitettava rivialue, String rivi, joka saa jostakin tietoa (tässä ei välitetä mistä) - niin kauan kuin tietoa riittää, kirjoitetaan tiedostoon rivi = hankitietoa while(rivi.length() > 0){ tulostus.write(rivi + System.getProperty("line.separator")); rivi = hankitietoa }

21 Anne Benson Tekstitiedoston kirjoittaminen Esimerkki tekstitiedoston kirjoittamisesta löytyy esimerkistä TeksitiedostoKirjoittaja.java

22 Anne Benson Tekstitiedoston lukeminen Tiedoston määritys: - luokat java.io-pakkauksessa BufferedReader – määrittää ohjelmalle lukupuskurin FileReader – kertoo, että luettava tiedosto on merkkimuotoinen File – fyysinen kohde levyllä, jota käsitellään Lukeminen: String rivi; while ((rivi = luettava.readLine()) != null) System.out.println(rivi); luettava.close();

23 Anne Benson Tekstitiedoston lukeminen Esimerkki tiedostomäärittelystä ja lukemisesta (ei vielä toimiva ohjelma): File tdstoNimi = new File(”c:\\testi.txt”); BufferedReader luettava = new BufferedReader(new FileReader(tdstoNimi)); String rivi;rivi = luettava.readLine(); while (rivi != null){ System.out.println(rivi); rivi = luettava.readLine() } luettava.close();

24 Anne Benson Tekstitiedoston lukeminen Tekstitiedoston lukeminen täydellisenä esimerkissä: TekstitiedostoLukija.java

25 Anne Benson Poikkeustilanteet

26 Anne Benson Poikkeustilanteet Poikkeustilanteisiin varautuminen java.io – pakkauksen poikkeustilanteet, Exceptions, on suunniteltu I/O-poikkeusten käsittelyyn: FileNotFoundException : tiedostoa ei löydyFileNotFoundException IOException: ”yleinen” io-poikkeusIOException EOFException: tiedoston loppu - poikkeusEOFException

27 Anne Benson Poikkeustilanteet Poikkeustilanteisiin varautuminen Käytetään poikkeuksen kiinniottoa Lause/lauseet jotka voivat aiheuttaa poikkeuksen, laitetaan try-lohkoon. Poikkeustilanteen selvittely laitetaan catch lohkoon: try { lause1; lause2; } catch (Exception poikkeusolio) { System.out.println(poikkeusolio.getMessage()); }

28 Anne Benson Poikkeustilanteet Poikkeustilanteisiin varautuminen Kun sovelluksessa on lauseita, jotka voivat aiheuttaa poikkeustilanteen synnyn, otetaan ne käsittelyyn try – catch lauseilla. Yhteen try- lauseeseen voidaan yhdistää useita catch – lohkoja. try{ lause1; lause2; lause3; } catch(NumberFormatException nfe){ System.out.println(”Ei numeerista tietoa”); } catch (ArrayIndexOutOfBoundsException aei){ System.out.println(”Taulukkokäsittelyssä indeksointi väärin”); } catch (Exception e){ System.out.println(e.getMessage()); }

29 Anne Benson Poikkeustilanteet Poikkeustilanteisiin varautuminen Huomaa: - tarkat poikkeusilmoitukset laitetaan välittömästi try – lohkon jälkeen - yleinen Exception tulee aina viimeiseksi - loppuun voidaan lisätä finally – lohko, joka suoritetaan aina, oli aiempi suoritus tapahtunut try tai joistakin catch - lohkoista

30 Anne Benson Poikkeustilanteet Poikkeustilanteisiin varautuminen Käytetään poikkeuksen ”heittoa” edelleen metodia kutsuneeseen luokkaan: public static String getRivit(File tiedosto)throws FileNotFoundException, IOException Nyt kutsuvassa luokassa pitää olla try-catch –lohko

31 Anne Benson Poikkeustilanteet Poikkeustilanteisiin varautuminen Heittomekanismi: Luokka1 Luokka2 Luokka3 throws try{} catch {}

32 Anne Benson Lukeminen ja kirjoittaminen Tärkeitä pakkauksia ja luokkia 1.java.io.* sisältää tietovirtojen käsittelyn rajapinnat, luokat ja poikkeukset 2java.util StringTokenizer 3.java.lang.StringBuffer merkkijonon käsittely dynaamisesti

33 Anne Benson Lukeminen ja kirjoittaminen Näppäimistövirran ja tekstitiedoston käsittelyn esimerkit löytyvät osion 4 viikon kolme materiaalista


Lataa ppt "Anne Benson Tietovirrat ja tiedostot. Anne Benson Tiedon koodaus it-järjestelmissä pienin tietoyksikkö bitti –kaksi tilaa: nolla (sähkövirtaa ei ole)"

Samankaltaiset esitykset


Iklan oleh Google