Java esminės klasės, 1 dalis Išimtys, Įvestis/išvestis

Panašūs dokumentai
Microsoft PowerPoint - IOSrautai.ppt

Microsoft Word - 15_paskaita.doc

P. Kasparaitis. Praktinė informatika. Skriptų vykdymas ir duomenų valdymas Skriptų vykdymas ir duomenų valdymas Įvadas Skripto failas tai M

DBVS realizavimas Pagrindiniai DBVS komponentai Duomenų saugojimas diske Paruošė J.Skučas

Dažniausios IT VBE klaidos

Realių lėktuvų skrydžių atvaizdavimas pagal turimus radaro duomenis

Pagrindiniai algoritmai dirbant su sveikųjų ir realiųjų skaičių masyvų reikšmėmis Sumos skaičiavimo algoritmas Sveikieji skaičiai int Suma (int X[], i

Masyvas su C++ Užduotys. Išsiaiškinkite kodą (jei reikia pataisykite) ir paleiskite per programą. Ciklo skaitliuko įrašymas į vienmatį masyvą: #includ

Slide 1

DB sukūrimas ir užpildymas duomenimis

Slide 1

Pardavimų aplikacija (Microsoft Dynamics AX (Axapta) sistemai) Diegimo instrukcija bifree.lt qlik.com

VILNIAUS R. PABERŽĖS ŠV. STANISLAVO KOSTKOS GIMNAZIJOS 2, 4, 6 IR 8 KLASĖS MOKINIŲ MOKYMOSI PASIEKIMŲ VERTINIMO PANAUDOJANT DIAGNOSTINIUS IR STANDARTI

EDUKA DIENYNO IR EDUKA KLASĖS INTEGRACIJA KAIP NAUDOTIS EDUKA KLASĖS IR DIENYNO INTEGRACIJA?... 2 Kaip prisijungti prie EDUKA klasės?... 2 Kaip įkelti

PowerPoint Presentation

Microsoft Word ESMA CFD Renewal Decision (2) Notice_LT

Slide 1

Algoritmai ir duomenų struktūros (ADS) 2 paskaita Saulius Ragaišis, VU MIF

IŠ PRAEITOS PASKAITOS jeigu java serveryje įkėlus projektą rodomas tuščias baltas langas, bent ant kito port'o aplikacija veikia pasiūlymas užkomentuo

K9 WebProtection (toliau K9) programa yra nemokama asmeniniam naudojimui. Programa suderinama su Windows Vista, Windows 7, Windows 10 ir Mac operacinė

UGDYMO PLĖTOTĖS CENTRO DIREKTORIUS ĮSAKYMAS DĖL UGDYMO PLĖTOTĖS CENTRO DIREKTORIAUS 2016 M. VASARIO 29 D. ĮSAKYMO NR. VK-24 DĖL BENDROJO UGDYMO DALYKŲ

UAB Talentor Lietuva Perkūnkiemio g. 4A, LT Vilnius Tel.: Privatumo politika Duomenų apsaugos d

C(2016)7159/F1 - LT (annex)

Cloud_sprendimu_salygos.pdf

Techninis aprašymas SONOMETER TM 1100 Ultragarsinis kompaktiškas energijos skaitiklis Aprašymas / taikymas MID tikrinimo sertifikato nr.: DE-10-MI004-

ktu kompiuterių katedra Programavimas asembleriu Darius Birvinskas Ignas Martišius Algimantas Venčkauskas

II-a klasė

PRESTASHOP 1.7 OMNIVA MODULIO DIEGIMO INSTRUKCIJA

CL2013O0023LT _cp 1..1

Estijos bendrasis ugdymas –Socialiniai mokslai

(Microsoft PowerPoint - Mokom\370j\370 program\370 naudojimas.pptx)

Logines funkcijos termu generavimo algoritmas pagristas funkciniu modeliu

Veiksmų programų administravimo

LIFE REWARDS PLAN Jūsų Life Rewards Plan vadovas EU_li LIETUVIŲ

LMTA prenumeruojamos duomenų bazės

Layout 1

Slide 1

Printing triistr.wxmx

Programų sistemų inžinerija Saulius Ragaišis, VU MIF

Tiesioginio-debeto-paslaugos-duomenu-apsikeitimo-formatu-aprasas

Techninė dokumentacija Qlik Sense architektūros apžvalga 2015 m. gruodis qlik.com

Microsoft Word - SDH2.doc

Style Sample for C&N Word Style Sheet

10 Pratybos Oleg Lukašonok 1

Vienlusčių įtaisų projektavimas

MAGENTO 1.9 OMNIVA MODULIO DIEGIMO INSTRUKCIJA

Lietuvos mokslo ir studijų institucijų kompiuterių tinklas LITNET Vilniaus universitetas Mokslininko darbo vietos paslauga Paslaugos naudojimo instruk

Microsoft PowerPoint - Siaulys_Tomas.ppt [Tik skaityti]

TIESINĖ ALGEBRA Matricos ir determinantai Matricos. Transponuota matrica. Nulinė ir vienetinė matrica. Kvadratinė matrica. Antrosios ir trečiosios eil

55 C 35 C Logatherm WPL 31 A A ++ A + A B C D E F G A + A db kw kw 64 db /2013

Sistemos specifikacija

Verslui skirta Facebook paskyra pilna sudėtingų terminų bei funkcijų Facebook Pixel, conversion rate ir taip toliau. Tačiau darbas su klientais social

VISŲ TIPŲ IR GAMINTOJŲ MEMBRANINIAI DUJŲ SKAITIKLIAI 1. Skaitiklių savybės. Visų tipų ir gamintojų membraniniai dujų skaitikliai indikuoja vieną rodme

(Pasiūlymų dėl projektų atrankos kriterijų nustatymo ir keitimo forma) PASIŪLYMAI DĖL PROJEKTŲ ATRANKOS KRITERIJŲ NUSTATYMO IR KEITIMO 2017 m. lapkrič

A. Merkys ASOCIACIJA LANGAS Į ATEITĮ, 2015 m. Elektroninis mokymasis Tikriausiai šiais laikais daugelis esate girdėję apie elektroninį bei nuotolinį m

VERSLO IR VADYBOS TECHNOLOGIJŲ PROGRAMA

PowerPoint Presentation

Style Sample for C&N Word Style Sheet

2013 m. liepos 30 d. Europos Centrinio Banko gairės, kuriomis iš dalies keičiamos Gairės ECB/2011/23 dėl Europos Centrinio Banko statistinės atskaitom

PRIEDAI 199 G priedas. Skirtingų kartų elektroninių vartotojų portretai G.1 lentelė. Kūkikių bumo kartos elektroninio vartotojo portretas (sudaryta au

skaitiniai metodai 1

Jūsų duomenys, jūsų teisės. Ericsson duomenų tvarkytojo įmonei privalomos duomenų apsaugos taisyklės Įžanga Ericsson veikla pasižymi sąžiningumu, skai

AKMENĖS RAJONO BENDROJO LAVINIMO MOKYKLŲ MOKINIŲ PROFILAKTINIŲ SVEIKATOS PATIKRINIMŲ DUOMENŲ ANALIZĖ 2016 M. Parengė: Akmenės rajono savivaldybės visu

PowerPoint Presentation

Paslaugų teikimo aprašymas

Individualus projektas Programa TE-PM, TE-PS, TE-SL, TEstream 4, TEstream 6, TEstream 8, TEstreamOBD 4, TEstreamOBD 6, TEstreamOBD 8 sistemų naudotoja

EUROPOS KOMISIJA Briuselis, C(2012) 2384 final KOMISIJOS ĮGYVENDINIMO SPRENDIMAS kuriuo priimamas valstybių narių teikiamų Europ

Kliento anketa JA - DNB Trade [ ]

Atmintinė prekinių vagonų savininkams Gerbiami prekinių vagonų savininkai Siekdami pagerinti teikiamų paslaugų, susijusių su privačių 1520 mm pločio v

Slide 1

Hands-on exercise

Microsoft Word - DSEA-3s.doc

EUROPOS KOMISIJA Briuselis, C(2017) 4679 final KOMISIJOS ĮGYVENDINIMO SPRENDIMAS (ES) / dėl bendros sistemos techninių standa

2013 m

Algoritmai ir duomenų struktūros (ADS) 7 paskaita Saulius Ragaišis, VU MIF

Microsoft Word - Paslauga _leidimai išvezti iš LR_ Į-29 AP-15.doc

Birutė Kurgonienė Organizacijos lyderio kišeninis vadovas Patarimų ir instrukcijų knyga visais gyvenimo atvejais Vietoj įžangos 13 TURINYS I. ASMENYBĖ

skaitiniai metodai 1

NACIONALINIS KIBERNETINIO SAUGUMO CENTRAS Tel El. p. NACIONALINIS KIBERNETINIO SAUGUMO CENTRAS PRIE KRA

(Microsoft Word - Versta i\360 angli\360ko vertimo i\360 dan\370 k.docx)

Microsoft Word - Ikainiai_ nuo

VADOVĖLIO VERTINIMO KRITERIJŲ APRAŠAI 1. MEDŽIAGOS TINKAMUMAS VERTYBINĖMS NUOSTATOMS UGDYTI(S) Vertinimo kriterijai 1.1. Tekstinė ir vaizdinė medžiaga

Statements of Income

Microsoft Word - Programa.doc

Specialus pasiūlymas Specialus pasiūlymas! Įsigijus vadovėlius visai klasei* mokytojams dovanojame vertingas dovanas 1. Kodėl sukūrėme šį pasiūlymą? N

Elektroninio dokumento nuorašas LIETUVOS RESPUBLIKOS ŠVIETIMO IR MOKSLO MINISTRAS ĮSAKYMAS DĖL ŠVIETIMO IR MOKSLO MINISTRO 2011 M. KOVO 16 D. ĮSAKYMO

Slaptažodžių generatoriaus naudojimo instrukcija Slaptažodžių generatorius tai aukščiausius saugumo reikalavimus atitinkantis įrenginys, kuris generuo

Krasta Auto Pasiūlymo data: Pasiūlymo nr.: D BMW i3 (94Ah) automobilio pasiūlymas Kaina (įskaitant PVM 21%) EUR Bazinė automobilio k

Teorinių kontrolinių sąlygos ir sprendimai Vytautas Kazakevičius 2016 m. gruodžio 20 d. Teiginiai ( ). 1. (0.05 t.) Užrašykite formule tokį t

KTU BIBLIOTEKOS PASLAUGOS

MOKINTIS SĄLYGOS GERIAUSIOS VAIRAVIMO MOKYMO PASLAUGŲ KATALOGAS PRIEMONĖS, KAD JŪSŲ ĮMONĖS DARBAS NESUSTOTŲ

2013 m. gruodžio 11 d. Europos Parlamento ir Tarybos reglamentas (ES) Nr. 1350/2013, kuriuo iš dalies keičiami tam tikri žemės ūkio ir žuvininkystės s

PIRKĖJO GIDAS FÄRLÖV sėdimieji baldai MODELIAI Foteliai Kojų kėdutės su daiktadėžėmis Dvivietės sofoslovos Nuimamieji užvalkalai Užvalkalų pasirinkima

( ( Pusryčiai Pietūs Vakarienė Patiekalas Amžiaus grupė (1-3 metų vaikai) Amžiaus grupė (4-7 metų vaikai 100 g. Gr. Balt. Angį. Rieb. Kcal. Gr. Balt.

LIETUVOS ŽEMĖS ŪKIO UNIVERSITETAS

Title

Transkriptas:

Java esminės klasės, 1 dalis Išimtys, Įvestis/išvestis

Klaidų apdorojimas C kalboje If (kazkokia_salyga) { klaidos_apdorojimas(); return... } Tokio kodo apimtis galėdavo sekti iki 70-80proc.

Klaidų/išimčių apdorojimas Javoje Java kalboje yra specializuota klasė Throwable, kuri yra visų klaidų/išimčių apdorojimo motina. Tiesiogiai nuo jos paveldi Exception ir Error. Kaip taisyklė programuotojas turi pagalvoti apie Exception klasės (ir nuo jos paveldėtų) išimčių apdorojimą. Pats apdorojimas susietas su specifine Java kalbos sintakse, kurioje yra raktiniai žodžiai try, catch, finally, throw, throws.

I/O Javoje Viena iš standartinių situacijų, kada reikalingas išimčių apdorojimas, yra bylos atidarymas skaitymui/rašymui. Java kalboje I/O operacijos valdomos atitinkamų klasių objektų pagalba. Visos I/O klasės sudaro tam tikrą hierarchiją. Pats fundamentaliausi Įvesties/išvesties objektai yra baitų srautų skaitytojai/rašytojai

Kaip skaitomos/rašomos baitų sekos? java.lang.object java.io.inputstream java.io.outputstream

java.io.inputstream (OutputStream) Tai abstrakti klasė. Dokumentacijoje matysime, kad joje apibrėžtas abstraktus metodas read(), kuris nuskaito sekantį baitą iš srauto. Visi kiti metodai yra konkretūs. Daugiau galite pažiūrėti čia : http://java.sun.com/javase/7/docs/api/java/io/inputstream.html Analogiška situacija yra ir su išvesties srautais.

FileInputStream java.lang.object java.io.inputstream java.io.fileinputstream

FileInputStream metodai, konstruktoriai. FileInputStream( String vardas ); Yra ir kitų konstruktorių... int read() - skaito vieną baitą; int read(byte[ ] masyvas) nuskaitys masyvas.length baitų, grąžina -1, jeigu neišėjo tiek nuskaityti;... daugiau skaitykite Java API dokumentacijoje

Išimtys skaitant iš FileInputStream (citata iš oficialios dokumentacijos) Throws : FileNotFoundException - if the file does not exist, is a directory rather than a regular file, or for some other reason cannot be opened for reading. SecurityException - if a security manager exists and its checkread method denies read access to the file.

Kaip išimtis apdoroti Galime apdoroti toje pačioje vietoje: tada naudojame try { } [ catch(){} ]... [ catch() ] [ finally ]; Arba galime ties atitinkamo metodo parašyti throws... Derinti abudu metodus

try... catch... (pavyzdys)

try... catch... finally / throws

IndexOutOfBoundsException Tarkime, kad turime tokį kodą: class BlogasIndeksas{ } } public static void main(string[] args) { int[] a = new int[10]; a[ 100 ] = 100;

Kaip pagauti šią išimtį? class BlogasIndeksas2{ public static void main(string[] args) { int[] a = new int[10]; try{ a[ 100 ] = 100; } //catch(exception e){ // System.out.println("Klaida: " + e); //} catch(indexoutofboundsexception e){ System.out.println("Klaida: " + e); }... Kas bus, jeigu nuimsime komentarus?

Dvejetainių (angl. binary) failų apdorojimas Anksčiau nagrinėtos klasės FileInputStream ir FileOutputStream yra žemo lygio dvejetainių failų apdorojimo klasės. Praktinėje veikloje dažniausiai naudojami šių klasių vaikai. Tam, kad galėtume skaityti/rašyti kitus primityvius Java tipus (short, int, long etc.) yra apibrėžtas specialus Java interfeisas, kuris vadinasi DataInput/DataOutput

... tęsinys DataInput (rinktiniai metodai): boolean readboolean(); byte readbyte() ; charreadchar(); void readfully(byte[] b); void readfully(byte[] b, int off, int len) ; String readline(); Int readunsignedbyte(); // naudingi apdorojant informaciją Int readunsignedshort();// naudingi apdorojant informaciją String readutf(); Int skipbytes(int n)

FilterInputSream/FilterOutputStream Hierarchija: java.lang.object java.io.inputstream java.io.filterinputstream Turi papildomą atributą: lauką, kuris nurodo duomenų šaltinį. Tiesiog realizuoja ( implementuoja ) InputStream metodus, nes InputStream NETURI jokių prieinamų atributų.

DataInputStream/DataOutputStream public class DataInputStream extends FilterInputStream implements DataInput Paprastai naudojama ši klasė duomenims, kurie įrašyti su DataOutpuStream

Reader/Writer -> pagrindiniai abstraktieji simbolių skaitytojai ir rašytojai Tai tiesioginiai java.lang.object vaikai; Šios klasės naudojamos simbolių (char) skaitymui; Reader turi metodą read(), kuris skaito vieną simbolį, t.y., gauname reikšmę nuo 0 iki 65535 arba -1 (jeigu nėra ką skaityti); Metodai close() ir masyvo skaitymo read(char[] simboliai) yra abstraktūs; Writer elgiasi panašiai.

FileReader/FileWriter -> Reader/Writer vaikai Šios klasės naudojamos simbolių (char) skaitymui; FileReader realizuoja minėtus abstrakčius metodus; FileWriter elgiasi panašiai.

Ką išveda visos trys programos? Pradinis tekstas: AĄBCDEFGHI Viena eilutė UTF-8 koduotė (Ą koduojama kaip C4 84 ) Baitai,Baitai2 : 65 196 132 66 67 68 69 70 71 72 73 Simboliai: 65 260 66 67 68 69 70 71 72 73

Buferizuotas skaitymas/rašymas Atliekant skaitymo/rašymo operacijos patogu turėti buferį - atminties sritį kurioje įrašyti skaitymui / rašymui paruošti duomenys; Motyvacija: eidami į parduotuvę dauguma žmonių perką keletą produktų (pienas, duona, bulvės,...) tam, kad n kartų nereikėtų lakstyti tenai ir atgal Buferizuotam I/O yra klasės BufferedReader ir PrintWriter ( klasių Reader ir Writer vaikai)

Savarankiškai Klasė RandomAccessFile Klasė File Tekstinių failų I/O Pasiruošti testui: klasių paveldimumas, interfeisai, išimtys, I/O

Namų darbai Namų darbai (individualiai iki 2010 04...) - pagal nuorodą puslapyje