Java Programozás 10. Ea: Extrák

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "Java Programozás 10. Ea: Extrák"

Átírás

1 Java Programozás 10. Ea: Extrák 77/1 B ITv: MAN

2 77/2

3 XML Extensible Markup Language Kiterjeszthető jelölő nyelv A W3C által ajánlott általános célú leíró nyelv Célja elsősorban adatok, információk, és ezek struktúráinak leírása A HTML-hez hasonlóan egyszerű felépítésű, azonban annál általánosabb funkciójú, rugalmasabb, mégis szintaktikai szempontból szigorúbb is, ami leegyszerűsíti az ipari méretű fejlesztést és hibakezelést. Az XML kidolgozásakor elsődleges volt az egyszerűség, a széleskörű alkalmazhatóság beleértve az Interneten való felhasználhatóságot is. 77/3

4 XML Extensible Markup Language Felépítése: Az XML 1.0 definiálja a tag és az attribútum fogalmát. Az XML-ben az adatok tagok között jelennek meg Pl: A tagokat < > jelek határolják A záró tag / jellel kezdődik A tagok adják meg a közrezárt adat jelentését, értelmezését <konyv> <szerzo>brian W. Aldiss</szerzo> <cim>amíg világ a világ</cim> </konyv> 77/4

5 XML Extensible Markup Language Felépítése: Az XML-ben az attribútum az értelmezőnek szóló paraméter, melyet név = "érték" formában kell megadni. Az attribútumok lehetnek a dokumentumhoz kapcsolódó általános értékek, és lehetnek adatok is. Pl: <?xml version="1.0" encoding="iso " standalone="no"?> <konyv mufaj="sci-fi"> <szerzo>brian W. Aldiss</szerzo> <cim>amíg világ a világ</cim> </konyv> 77/5

6 XML Extensible Markup Language Használata: A táblázatokat, címjegyzékeket és egyéb strukturált adatot előállító programok az adatokat időről-időre lemezre kell, hogy mentsék, valamilyen bináris vagy szöveges formátumban. A szöveges formátum előnye, hogy - amennyiben szükséges - akár ember által is elolvasható anélkül, hogy az azt előállító programot le kéne futtatni; a megtekintéséhez elegendő egy tetszőleges szövegszerkesztő használata. A szöveges formátum egy másik előnye, hogy a fejlesztők sokkal könnyebben tudják megtalálni benne az esetleges hibákat. A HTML-hez hasonlóan az XML fájlok sem azért készültek, hogy az embereknek el kelljen olvasni azokat, de ha szükséges, mégis megtehetik. 77/6

7 DOM Document Object Model A DOM egy platform- és nyelvfüggetlen felület, amely alapvető módja az XML fájlok elérésének, manipulálásának. A DOM egymással gyerek-szülő kapcsolatban álló objektumok rendszere. A dokumentum tartalmát, illetve a dokumentum valamennyi összetevőjét magában foglalja. XML Property Konyv Method Encoding Indent Mufaj Szerzo Cim 77/7

8 XML készítés Java nyelven Elnevezések: XML declaration: az értelmezőnek szóló információk helye. Az egyes tulajdonságokat a setoutputproperty() metódussal lehet beállítani. Root element: a legfelső szintű adattag. Ennek a tagnak csak neve van. Java neve: Element. Az Element konténer típusú objektum, van neve, és lehet bele értéket is rakni. A createelement() metódussal jön létre. Child element: adattag. Neve és értéke van. Szintén Element. Ha létrehoztuk a createelement() metódussal, a createtextnode() paranccsal rakhatunk bele értéket. 77/8 Az Element-ek, mivel konténerek, egymásba rakhatók, így többszintű xml tartalom alakítható ki.

9 XML készítés Java nyelven import javax.xml.parsers.*; import javax.xml.transform.*; import javax.xml.transform.dom.*; import javax.xml.transform.stream.*; import org.xml.sax.*; import org.w3c.dom.*; import java.io.*; public class XMLWriter { public static void main (String args[]) { Minden importált csomag a Java SE része, nem kell külső csomagokat letölteni! 77/9

10 XML készítés Java nyelven DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); Document dom; try { DocumentBuilder db = dbf.newdocumentbuilder(); dom = db.newdocument(); Element rootele = dom.createelement("konyv"); Element e = null; e=dom.createelement("szerzo"); e.appendchild(dom.createtextnode("brian W. Aldiss")); rootele.appendchild(e); e=dom.createelement("cim"); e.appendchild(dom.createtextnode("amíg világ a világ")); rootele.appendchild(e); dom.appendchild(rootele); 77/10

11 XML készítés Java nyelven try { Transformer tr = TransformerFactory.newInstance().newTransformer(); tr.setoutputproperty(outputkeys.indent, "yes"); tr.setoutputproperty(outputkeys.method, "xml"); tr.setoutputproperty(outputkeys.encoding, "ISO "); tr.setoutputproperty("{ indent-amount", "4"); tr.transform(new DOMSource(dom), new StreamResult(new FileOutputStream("konyv.xml"))); System.out.println("Adatok kiírva!"); catch (TransformerException te) {System.out.println("XmlWriter: "+te.getmessage()); catch (IOException ioe) {System.out.println("XmlWriter: "+ioe.getmessage()); catch (ParserConfigurationException pce) {System.out.println("XmlWriter: "+pce.getmessage()); //end main 77/11 // end program

12 XML készítés Java nyelven Adatok DocumentBuilder DOM Transformer XML file 77/12

13 XML olvasás Java nyelven XML file DocumentBuilder DOM Kiolvasás Adatok 1. Megnyitjuk a fájlt, és beolvassuk a tartalmát. 2. A beolvasott adatokból felépítjük a DOM-ot. 3. A DOM-ból kiolvassuk a node-okat (csomópontokat, adatokat). 4. A node-okból kiolvassuk az adatokat, és feldolgozzuk azokat. 77/13

14 XML olvasás Java nyelven import org.xml.sax.*; import org.w3c.dom.*; import java.io.*; public class XMLReader { public static void main (String args[]) { String szerzo, cim; Document dom; DocumentBuilderFactory dbf=documentbuilderfactory.newinstance(); 77/14

15 XML olvasás Java nyelven /15 try { DocumentBuilder db = dbf.newdocumentbuilder(); dom = db.parse("konyv.xml"); NodeList nodelist = dom.getelementsbytagname("konyv"); Node node = nodelist.item(0); Element element = (Element) node; szerzo = element.getelementsbytagname("szerzo").item(0).gettextcontent(); cim = element.getelementsbytagname("cim").item(0).gettextcontent(); System.out.println(szerzo+": "+cim); System.out.println("Adatok beolvasva!"); catch (ParserConfigurationException pce) {System.out.println("XmlReader: "+pce.getmessage()); catch (SAXException se) {System.out.println("XmlReader: "+se.getmessage()); catch (IOException ioe) {System.out.println("XmlReader: "+ioe.getmessage());

16 XML olvasás Java nyelven Az xml fájlok általában nemcsak egy adatsort tartalmaznak, hanem sokat Célszerű úgy felépíteni a tartalmukat, hogy az ismétlődő adatsort berakjuk egy külső konténerbe (konyvek), így egy ciklus segítségével könnyebb olvasni az adatokat. 77/16

17 XML olvasás Java nyelven NodeList nodelist = dom.getelementsbytagname("emp"); for(int i = 0; i < nodelist.getlength(); i++) { Node node = nodelist.item(i); Element element = (Element) node; szerzo = element.getelements... cím = element.getelements... System.out.println(szerzo+": "+cim); 77/17

18 77/18

19 DAT Bináris fájlba írás Típusos fájl, melynek alapja az a típus, amit letárolunk Az osztálynak implementálnia kell a Serializable interfészt, mely képes az osztály adatait bájtfolyammá alakítani import java.io.serializable; public class Konyv implements Serializable { private String szerzo; private String cim; 77/19 public Konyv(String s, String c){ szerzo = s; cim = c; public String getszerzo(){ return szerzo; public String getcim(){ return cim;

20 DAT Bináris fájlba írás import java.io.*; public class DatWriter { public static void main (String args[]) { Konyv[] k = new Konyv[2]; k[0] = new Konyv("Katerina Diamond", "A titok"); k[1] = new Konyv("Caleb Carr", "A halál angyala"); 77/20 try { FileOutputStream fos = new FileOutputStream("konyv.dat"); ObjectOutputStream oos = new ObjectOutputStream(fos); oos.writeint(k.length); for (int i = 0; i < k.length; i++) oos.writeobject(k[i]); fos.close(); System.out.println("Adatok kiírva!"); catch (IOException ioe) {System.out.println(ioe.getMessage());

21 DAT Olvasás bináris fájlból import java.io.*; public class DatReader { public static void main (String args[]) { int db=0; Konyv adat; try { FileInputStream fistr = new FileInputStream("konyv.dat"); ObjectInputStream ois = new ObjectInputStream(fistr); db = ois.readint(); Object o = null; for (int i = 0; i < db; i++) { o = ois.readobject(); System.out.pradat = (Konyv)o; intln(adat.getszerzo()+": "+adat.getcim()); fistr.close(); System.out.println("Adatok beolvasva!"); catch (ClassNotFoundException cnfe) {System.out.println(cnfe.getMessage()); catch (IOException ioe) {System.out.println(ioe.getMessage()); 77/21

22 77/22

23 CSV Strukturált szöveges fájl Az egyes adatokat a fájlban valamilyen határoló karakter választja el, általában vessző, pontosvessző vagy tabulátor Gyakran alkalmazzák ezt a formátumot az adatbázis-kezelők és a táblázatkezelők A fájl egy sora egy rekordot, vagy egy munkafüzet-sort jelent Ha munkafüzet adatok kerülnek bele, akkor a vessző általában tizedes vesszőt jelent, ilyenkor határolóként alkalmazzunk pontosvesszőt A fájlok legelső sora általában tartalmazza az értelmezést segítő mezőneveket Szerző;Cím Katerina Diamond;A titok Caleb Carr;A halál angyala 77/23

24 CSV Fájlba írás import java.io.*; public class CsvWriter { public static void main (String args[]) { Konyv[] k = new Konyv[2]; k[0] = new Konyv("Katerina Diamond", "A titok"); k[1] = new Konyv("Caleb Carr", "A halál angyala"); try { PrintStream out = new PrintStream(new FileOutputStream("konyv.csv")); out.println("szerző;cím"); for (int i=0; i < k.length; i++) out.println(k[i].getszerzo()+";"+k[i].getcim()); out.close(); System.out.println("Adatok kiírva!"); catch (IOException ioe) {System.out.println(ioe.getMessage()); 77/24

25 import java.io.*; public class CsvReader { public static void main (String args[]) { try { FileInputStream f=new FileInputStream("konyv.csv"); LineNumberReader in = new LineNumberReader(new InputStreamReader(f)); String separator=";"; String s=in.readline(); //== fejléc: oszlopok nevei s=in.readline(); while(s!=null) { int index=s.indexof(separator); String szerzo = s.substring(0, index); String cim=s.substring(index+1, s.length()); System.out.println(szerzo+": "+cim); s=in.readline(); in.close(); System.out.println("Adatok beolvasva!"); catch (IOException ioe){system.out.println(ioe.getmessage()); 77/25 CSV Olvasás fájlból

26 77/26

27 JSON JavaScript Object Notation Kis méretű, szöveg alapú szabvány, ember által olvasható adatcserére. A JavaScript szkriptnyelvből alakult ki, egyszerű adatstruktúrák és asszociatív tömbök reprezentálására (a JSON-ban objektum a nevük). A JSON-t legtöbbször egy szerver és egy kliens számítógép közti adatátvitelre használják az XML egyik alternatívájaként. Általánosságban strukturált adatok tárolására, továbbítására szolgál. 77/27

28 JSON JavaScript Object Notation Felépítése: Az adatok kulcs : érték párosokként szerepelnek Az értékpárosokat vesszők, választják el egymástól A listák kapcsos zárójelek { közé kerülnek A tömbök határoló karaktere a szögletes zárójel [ ] Használható adattípusok: szám idézőjelek nélkül: karakterlánc idézőjelek között: "szöveg" logikai típus true vagy false érték null üres érték leírására 77/28

29 JSON JavaScript Object Notation Felépítése: { "konyvek": { "konyv": [ { "szerzo": "Brian W. Aldiss", "cim": "Amíg világ a világ", { "szerzo": "Robert I. Sutton", "cim": "Kis seggfejkalauz" ] 77/29

30 { JSON XML "konyvek": { "konyv": [ { ] 77/30 "szerzo": "Brian W. Aldiss", "cim": "Amíg világ a világ", { "szerzo": "Robert I. Sutton", "cim": "Kis seggfejkalauz" <konyvek> <konyv> <szerzo>brian W. Aldiss</szerzo> <cim>amíg világ a világ</cim> </konyv> <konyv> <szerzo>robert I. Sutton</szerzo> <cim>kis seggfejkalauz</cim> </konyv> </konyvek

31 JSON készítés Java nyelven A json API a Java 7 EE része, de nincs benne az SE kiadásban. Ezért töltsük le az org.json csomagot, és telepítsük Letöltés: Telepítés: Csomagoljuk ki a fájlt a Java munkakönyvárba A meglévő ini.bat fájlunkban fűzzük hozzá a csomag nevét a keresési útvonalhoz: 77/31

32 JSON készítés Java nyelven Ha elkészítjük az org.json csomaggal a json adatsort, az adatok ugyan helyesek lesznek, de nem kellemesen olvasható formátumban kapjuk meg azokat: Az emberi szem számára könnyen olvasható formátum előállítására egy újabb külső csomag használható, a googlegson. Letöltése: 77/32

33 JSON készítés Java nyelven Előkészítése: Csomagoljuk ki a fájlt a Java munkakönyvárba A meglévő ini.bat fájlunkban fűzzük hozzá a csomag nevét a keresési útvonalhoz: 77/33

34 JSON Fájlba írás import java.io.*; import org.json.*; import com.google.gson.*; import java.util.stringtokenizer; public class JsonWriter { public static void main(string[] args) { Konyv[] k = new Konyv[2]; k[0] = new Konyv("Brian W. Aldiss", "Amíg világ a világ"); k[1] = new Konyv("Robert I. Sutton", "Kis seggfejkalauz"); 1. rész: előkészületek. A k tömb tartalmát fogjuk fájlba írni. 77/34

35 JSON Fájlba írás 77/35 JSONObject jrootobj = new JSONObject(); JSONObject obj = new JSONObject(); JSONArray jarray = new JSONArray(); try { for (int i = 0; i < k.length; i++) { JSONObject jo = new JSONObject(); jo.put("szerzo", k[i].getszerzo()); jo.put("cim", k[i].getcim()); jarray.put(i, jo); obj.put("konyv", jarray); jrootobj.put("konyvek", obj); System.out.println("Adatok feldolgozva!"); catch (Exception e) {System.out.println(e.getMessage()); 2. rész: a json adatok előállítása. JSONObject: tetszőleges json név-érték párost tartalmazó konténer JSONArray: sorszámozott, azonos jellegű név-érték párost tartalmazó konténer put(): adatpáros, vagy objektum berakása egy konténerbe

36 JSON Fájlba írás try { Gson gson = new GsonBuilder().setPrettyPrinting().create(); JsonParser jp = new JsonParser(); JsonElement je = jp.parse(jrootobj.tostring()); String prettyjs = gson.tojson(je); PrintStream out = new PrintStream(new FileOutputStream("konyv.json")); String[] arrsplit = prettyjs.split("\n"); for(string x : arrsplit) out.println(x); out.close(); System.out.println("Adatok kiírva!"); catch (Exception e) {System.out.println(e.getMessage()); 3. rész: formázás, kiírás. A kiíráskor elveszik a gson formátum, ezért a sortöréseknél részekre bontjuk a stringet, és a részeket egyesével, a println() metódussal írjuk ki. 77/36

37 JSON a kiírt fájl tartalma 77/37

38 JSON Olvasás fájlból import java.io.*; import org.json.*; public class JsonReader { public static void main(string[] args) { StringBuilder jsondata = new StringBuilder(); try { FileInputStream f=new FileInputStream("konyv.json"); LineNumberReader in = new LineNumberReader(new InputStreamReader(f)); String inputline; while ((inputline = in.readline())!= null) jsondata.append(inputline); in.close(); catch (IOException e) {System.out.println(e.getMessage()); System.out.println("Adatok beolvasva!"); 1. rész: adatok beolvasása fájlból, és összefűzésük egyetlen stringbe. 77/38

39 JSON Olvasás fájlból try { JSONObject jrootobj = new JSONObject(jsonData.toString()); JSONObject jobj = jrootobj.getjsonobject("konyvek"); JSONArray jarr = jobj.getjsonarray("konyv"); for (int i = 0; i < jarr.length(); ++i) { JSONObject rec = jarr.getjsonobject(i); String szerzo = rec.getstring("szerzo"); String cim = rec.getstring("cim"); System.out.println("Adat: "+szerzo+": "+cim); System.out.println("Adatok feldolgozva!"); catch (Exception e) {System.out.println(e.getMessage()); 2. rész: a string konvertálása json konténerré, az adatok kinyerése a konténer(ek)ből getxxx() metódusokkal. 77/39

40 77/40

41 Fájl beolvasása a webről A java.net.url egy olyan osztály, amely egy weben elérhető erőforrásra mutat. Az erőforrás lehet egy fájl, egy mappa, egy adatbázis vagy egy keresőmotor objektum Létrehozása: new URL(String); A String egy teljes, szöveges erőforrás azonosító Pl: " 77/41

42 Fájl beolvasása a webről A java.net.urlconnection osztály az alkalmazás és az URL közötti kapcsolatot reprezentálja. A kapcsolatot az openconnection() metódussal lehet megnyitni. A kapcsolat egy olyan csatorna, mely használható az erőforrás olvasására és írására is. URL url = new URL(" URLConnection conn = url.openconnection(); BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream())); 77/42

43 Fájl beolvasása a webről import java.io.*; import java.net.*; public class NetReader { public static void main(string[] args) { String url = " StringBuilder response = null; try { URL website = new URL(url); URLConnection conn = website.openconnection(); BufferedReader in = new BufferedReader( new InputStreamReader(conn.getInputStream())); response = new StringBuilder(); String inputline; while ((inputline = in.readline())!= null) response.append(inputline+"\n"); in.close(); System.out.println(response.toString()); System.out.println("Data is readed!"); catch (IOException e) {System.out.println(e.getMessage()); 77/43

44 77/44

45 PDF fájl készítése Pdf készítésre alkalmas csomag nincs a Javaban, ezért töltsük le a com.itextpdf csomagot: Letöltés: Telepítés: Csomagoljuk ki a fájlt a Java munkakönyvárba A meglévő ini.bat fájlunkban fűzzük hozzá a csomag nevét a keresési útvonalhoz (ügyelve a verziószámra!): 77/45

46 PDF fájl készítése a com.itextpdf csomaggal 1. Létre kell hozni egy Documentum példányt, ez lesz maga a pdf dokumentum: 2. Létre kell hozni egy PdfWriter-t, ez fogja a dokumentumot fájlba írni: 3. Meg kell nyitni a dokumentumot: 4. Létre kell hozni egy Paragraph-ot, bekezdést, megadható a tartalma és a betűtípusa: 77/46 Document document = new Document(); PdfWriter.getInstance(document, new FileOutputStream(fname)); document.open(); Paragraph par = new Paragraph ("Lista a könyvekről", fnt); 5. Hozzá kell adni a bekezdést a dokumentumhoz: document.add(par);

47 PDF fájl készítése a com.itextpdf csomaggal 6. A kész dokumentum a close() metódus meghívásával kerül lezárásra, és ekkor a teljes tartalma átmásolódik a PdfWriterre, azaz kiíródik a fájlba: Fontkészlet BaseFont beállítása: segítségével lehet kialakítani a betűtípust, a megfelelő karakterkészletet, és a fontkészletet beágyazni a dokumentumba: 77/47 document.close(); BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1250, BaseFont.EMBEDDED); Betűtípusok: HELVETICA, COURIER, TIMES_ROMAN Betűtípus Font beállítása: a fontkészletből készül, megadható a méret, és a stílus: Font fnt = new Font(bf, 14); Font fnt = new Font(bf, 12, Font.BOLD);//Font.ITALIC, Font.UNDERLINE

48 PDF fájl készítése a com.itextpdf csomaggal Ha kész a dokumentum, érdemes egy üzenet (és egy gombnyomás) erejéig megállítani a programot, hogy a dokumentum háttértárra írására legyen elég idő, ezután megnyithatjuk a dokumentumot az alapértelmezett kezelőprogrammal: public static void Message(String mes){ Console console = System.console(); System.out.println(mes); System.out.print("Press any key!"); String answer = console.readline(); try { File fpdf = new File(fname); Desktop.getDesktop().open(fpdf); catch (IOException exx ) { System.out.println(exx.getMessage()); 77/48

49 PDF fájl készítése a com.itextpdf csomaggal import com.itextpdf.text.*; import com.itextpdf.text.pdf.*; import com.itextpdf.text.font.*; import java.io.*; import java.awt.desktop; public class PdfM1 { public static void main(string[] args) { String fname = "konyv.pdf"; try { BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1250, BaseFont.EMBEDDED); Font fnt = new Font(bf, 16, Font.BOLD); Document document = new Document(); PdfWriter.getInstance(document, new FileOutputStream(fname)); document.open(); 77/49

50 PDF fájl készítése a com.itextpdf csomaggal Paragraph par = new Paragraph ("Lista a könyvekről", fnt); document.add(par); document.close(); Message("The document has been completed, name is: "+fname); catch (DocumentException de) { System.out.println("PdfMaker: "+de.getmessage()); catch (IOException ex) { System.out.println("PdfMaker: "+ex.getmessage()); try { File fpdf = new File(fname); Desktop.getDesktop().open(fpdf); catch (IOException exx ) { System.out.println(exx.getMessage()); //== end of main 77/50

51 PDF fájl készítése a com.itextpdf csomaggal public static void Message(String mes){ Console console = System.console(); System.out.println(mes); System.out.print("Press any key!"); String answer = console.readline(); 77/51

52 PDF fájl készítése a com.itextpdf csomaggal Táblázat kialakítása: 1. Létre kell hozni egy PdfPTable példányt, ez lesz maga a pdf táblázat. Paramétere lehet az oszlopok száma, vagy az oszlopok szélessége (egymáshoz viszonyított számokkal megadva): PdfPTable table = new PdfPTable(3); //oszlopok száma float[] widths = {4, 5; PdfPTable table = new PdfPTable(widths); //oszlopok szélessége 2. Adjuk meg a táblázat szélességét (az oldalszélesség százalékában): table.setwidthpercentage(60); 3. Hozzunk létre egy PdfPCell-t, és adjuk meg a cella tartalmát: PdfPCell c = new PdfPCell(new Paragraph("szöveg", font)); 77/52

53 PDF fájl készítése a com.itextpdf csomaggal Táblázat kialakítása: 4. Adjuk hozzá a cellát a táblázathoz: 5. Ismételjük a cella létrehozását, és táblázathoz adását a teljes táblázat tartalomra. A cellák balról jobbra, majd fentről lefelé haladva adódnak a táblázathoz, az oszlopok számának megfelelően. 77/53 table.addcell(c); 6. Állítsuk be a táblázat vízszintes elhelyezkedését: table.sethorizontalalignment(element.align_left); 7. Adjuk hozzá a kész táblázatot a dokumentumhot: document.add(table);

54 PDF fájl készítése a com.itextpdf csomaggal float[] widths = {4, 5; PdfPTable table = new PdfPTable(widths); table.setwidthpercentage(52); Font f1 = new Font(bf, 14, Font.BOLD); Font f2 = new Font(bf, 14); PdfPCell c = new PdfPCell(new Paragraph("Szerző", f1)); table.addcell(c); c = new PdfPCell(new Paragraph("Cím", f1)); table.addcell(c); c = new PdfPCell(new Paragraph("Katerina Diamond", f2)); table.addcell(c); c = new PdfPCell(new Paragraph("A titok", f2)); table.addcell(c); c = new PdfPCell(new Paragraph("Caleb Carr", f2)); table.addcell(c); c = new PdfPCell(new Paragraph("A halál angyala", f2)); table.addcell(c); table.sethorizontalalignment(element.align_left); document.add(table); 77/54

55 77/55

56 ZIP fájl készítése A java.util.zip csomag tartalmazza a zip és gzip állományok kezelésére szolgáló osztályokat. ZipOutputStream: szűrő osztály, mely a bemenetére érkező adatokat zip formátumúra alakítja. ZipInputStream: szűrő osztály, mely a bemenetére érkező zip formátumú adatokat normál adattá alakítja. ZipEntry: egy zip formátumú fájlt jelképez. A ZipOutputStream-hez a putnextentry() metódussal adható hozzá egy zip formátumú fájl A ZipInputStream-ből a getnextentry() metódussal kérhető el egy zip formátumú fájl 77/56

57 import java.io.*; import java.util.zip.*; public class ZipMaker { public static void main (String args[]) { byte[] buffer = new byte[1024]; try{ FileOutputStream fos = new FileOutputStream("ZipFile.zip"); ZipOutputStream zos = new ZipOutputStream(fos); ZipEntry ze= new ZipEntry("zipalap.txt"); zos.putnextentry(ze); FileInputStream in = new FileInputStream("zipalap.txt"); 77/57 ZIP fájl becsomagolás int len; while ((len = in.read(buffer)) > 0) { zos.write(buffer, 0, len); in.close(); zos.closeentry(); zos.close(); System.out.println("Done"); catch(ioexception ex) {ex.printstacktrace();

58 ZIP fájl kicsomagolás import java.io.*; import java.util.zip.*; public class ZipReader { public static void main (String args[]) { byte[] buffer = new byte[1024]; try{ ZipInputStream zis = new ZipInputStream( new FileInputStream("ZipFile.zip")); ZipEntry ze = zis.getnextentry(); while(ze!=null){ String filename = ze.getname(); File newfile = new File(fileName); FileOutputStream fos = new FileOutputStream(newFile); int len; while ((len = zis.read(buffer)) > 0) { fos.write(buffer, 0, len); fos.close(); ze = zis.getnextentry(); zis.closeentry(); zis.close(); System.out.println("Done"); catch(ioexception ex) {ex.printstacktrace(); 77/58

59 77/59

60 JAR fájl készítése A JAR fájl olyan ZIP fájlformátumú fájl, amely java osztályokat és hozzájuk tartozó metaadatokat tartalmaz. JAR fájlokat készíteni a JDK részét képező jar eszközzel lehet. A JAR fájl tartalmazhat egy úgynevezett manifest fájlt a META-INF könyvtárban MANIFEST.MF néven. Ez a fájl írja le a futtató környezet számára, hogy hogyan kell a jar fájlt használni. 77/60

61 JAR fájl készítése Készítsünk egy emp.mft nevű szöveges fájlt, az alábbi tartalommal: 77/61 Manifest-Version: a csomagolt fájl verziószáma Main-Class: a fájl futtatásakor melyik osztály main metódusát kell elindítani Class-path: a program futásakor használatos elérési útvonal a csomagolt fájlon belül Itt kell megadni az esetleges fájlként a JAR fájlba becsomagolt külső csomagokat További bejegyzések lehetségesek, de ezek elegendőek egy futtatható JAR előállításához

62 JAR fájl készítése Az emp.mft fájl tartalma másolódik be a JAR fájlba a META- INF könyvtárba, MANIFEST.MF néven. A JAR fájlban szeretnénk elhelyezni a következő fájlokat: az összes olyan class fájlt, mely Emp-pel kezdődik: Emp*.class FileManager.class CH.class az adatbázis drivert: sqlite-jdbc jar a pdf drivert: itext jar A tartalomnak megfelelő kiadandó parancs: jar cvfm0 Emp.jar emp.mft Emp*.class FileManager.class CH.class sqlite-jdbc jar itextpdf jar 77/62

63 JAR fájl készítése jar cvfm0 Emp.jar emp.mft Emp*.class FileManager.class CH.class sqlite-jdbc jar itextpdf jar A jar parancs paraméterei: c készítsen új archívumot v a végzett műveletek részletes kiírása a konzolra f archívum nevének megadása m a megadott manifest tartalom hozzáadása az archívumhoz 0 csak tárolás, ne tömörítse az archívumot A paraméterek után jönnek szigorú sorrendben az adatok: 1. archívum neve 2. manifest fájl neve 3. az archívumba kerülő adatok (ezeknél a sorrend tetszőleges) 77/63

64 JAR fájl készítése 77/64

65 77/65

66 Teszt 1. Alakítson ki két kategóriát, és sorolja a két kategóriába az alábbi fájl kiterjesztéseket!.dat.csv.pdf.xml.json.zip.jar.java.class Kategóri neve: Tartalma: /66

67 Teszt 2. Mi a DOM? Document Object Model Development Object Markup Detected Object Matrix Development Of Methods Document Oriented Model 77/67

68 Teszt 3. Mi az XML? extensible Markup Language Example Markup Language X-Markup Language extra Modern Link 77/68

69 Teszt 4. Hogyan kell megadni az xml fájlban a verziószámot? <?xml version="1.0" /> <?xml version="1.0"?> <xml version="1.0" /> <?xml version=1.0> 77/69

70 Teszt 5. Hogyan készítjük el az xml fájl gyökérelemét? RootElement root = dom.createelement("adatok"); Element root = dom.createroot("adatok"); Element root = dom.createelement("adatok"); RootElement root = dom.createrootelement("adatok"); 77/70

71 Teszt 6. Melyik metódussal írunk ki fájlba egy saját kialakítású osztályt? fos.write(o); fos.writeln(o); fos.writeobject(o); fos.println(o); 77/71

72 Teszt 7. Melyik az a fájltípus, amelyben az adatok kulcs : érték párosok alakjában szerepelnek?.xml.dat.csv.json Bármilyen fájlban szerepelhetnek így az adatok 77/72

73 Teszt 8. Az org.json csomagot használva, a Java kódban hogyan nevezik az adatot tartalmazó objektumot? JSONObject Element Node jsondata jsonentry 77/73

74 Teszt 9. Igaz vagy hamis az állítás? Nincs zip fájl készítésére alkalmas csomag a Javaban. Az állítás igaz Az állítás hamis Az állítás részben igaz, a csomag része a Java 7 EEnek része, de nincs benne az SE kiadásban. 77/74

75 Teszt 10. Mi a manifest.mf fájl szerepe? XML fájl készítésekor ide kerülnek a DOM információk Ez tartalmazza a ZIP csomagban lévő fájlok listáját JAR fájlban ide kerülnek a használat információi JSON fájloknál a helyes (olvasható) előállításhoz szükséges PDF fájlokban itt adhatók meg a környezeti információk 77/75

76 77/76

77 VÉGE VÉGE 77/77

Java Programozás 6. Gy: Java alapok. Adatkezelő 2.rész

Java Programozás 6. Gy: Java alapok. Adatkezelő 2.rész Java Programozás 6. Gy: Java alapok Adatkezelő 2.rész 25/1 B ITv: MAN 2018.04.13 A feladat Feladat: folytassuk a panel életre keltését! - Alakítsuk ki a Lista panelt - Betöltéskor olvassuk be az adatokat

Részletesebben

Objektum Orientált Programozás. 11. Kivételkezelés 44/1B IT MAN

Objektum Orientált Programozás. 11. Kivételkezelés 44/1B IT MAN Objektum Orientált Programozás 11. Kivételkezelés 44/1B IT MAN B IT v: 2016.05.03 MAN Pici elmélet A Java kivételkezelésének célja a programfutás során keletkezett hibák kiszűrése és megfelelő kezelése.

Részletesebben

Osztályszintű elérés, kivételkezelés, fájlkezelés

Osztályszintű elérés, kivételkezelés, fájlkezelés Programozási, kivételkezelés, fájlkezelés Informatikai Kar Eötvös Loránd Tudományegyetem 1 Tartalom 1 2 3 4 2 (statikusság) Az osztályban definiált attribútumok és műveletek az osztályból példányosított

Részletesebben

Kivételek kezelése (exception handling) Hibakezelés old style. Kivételkezelés

Kivételek kezelése (exception handling) Hibakezelés old style. Kivételkezelés Kivételek kezelése (exception handling) Hibakezelés old style class Szamolo { void szamol( String s, int i ) { int d; if (i!= 0) d = (i+1)/i; else if (s!= null) d = s.length(); else if (i > 10) // applikációs

Részletesebben

Java Programozás 1. Gy: Java alapok. Ismétlés ++

Java Programozás 1. Gy: Java alapok. Ismétlés ++ Java Programozás 1. Gy: Java alapok Ismétlés ++ 24/1 B ITv: MAN 2018.02.18 Feladat Készítsünk egy komplett konzolos alkalmazást, mely generál egy számot 0 és 100 között (mindkét határt beleértve), feladatunk

Részletesebben

XML adatkezelés. A DOM alapú adatkezelés. Dr. Kovács László Répási Tibor kiegészítéseivel

XML adatkezelés. A DOM alapú adatkezelés. Dr. Kovács László Répási Tibor kiegészítéseivel XML adatkezelés A DOM alapú adatkezelés Dr. Kovács László Répási Tibor kiegészítéseivel DOM Az XML jellegű dokumentumok feldolgozó felülete DOM = Document Object Model Az értelmező előállít egy olyan objektumot,

Részletesebben

Az alábbi kód egy JSON objektumot definiál, amiből az adtokat JavaScript segítségével a weboldal tartalmába ágyazzuk.

Az alábbi kód egy JSON objektumot definiál, amiből az adtokat JavaScript segítségével a weboldal tartalmába ágyazzuk. JSON tutorial Készítette: Cyber Zero Web: www.cyberzero.tk E-mail: cyberzero@freemail.hu Msn: cyberzero@mailpont.hu Skype: cyberzero_cz Fb: https://www.facebook.com/cyberzero.cz BEVEZETÉS: A JSON (JavaScript

Részletesebben

Szerializáció. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Szerializáció / 22

Szerializáció. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Szerializáció / 22 Szerializáció Tóth Zsolt Miskolci Egyetem 2014 Tóth Zsolt (Miskolci Egyetem) Szerializáció 2014 1 / 22 Tartalomjegyzék 1 Szerializációs Alapfogalmak 2 Szerializációs Megoldások Object Szerializáció XML

Részletesebben

Java Programozás 7. Gy: Java alapok. Adatkezelő 3.rész

Java Programozás 7. Gy: Java alapok. Adatkezelő 3.rész Java Programozás 7. Gy: Java alapok Adatkezelő 3.rész 39/1 B ITv: MAN 2018.04.11 A feladat Feladat: folytassuk a panel életre keltését! - Alakítsuk ki az Új dolgozó felvitele panelt - A panel a Beszúr

Részletesebben

Se S r e ial a iza z t a ion o n (in n Ja J v a a v ) a Szerializáció

Se S r e ial a iza z t a ion o n (in n Ja J v a a v ) a Szerializáció Serialization (in Java) Szerializáció Java Serialization API Standard eljárás az objektumok állapotának adatfolyamba történő kiírására (elmentésére egy bájtszekvenciába), és visszatöltésére Perzisztencia

Részletesebben

Java Programozás 11. Ea: MVC modell

Java Programozás 11. Ea: MVC modell Java Programozás 11. Ea: MVC modell 20/1 B ITv: MAN 2018.03.02 MVC Model-View-Controller A modell-nézet-vezérlő a szoftvertervezésben használatos szerkezeti minta. Az MVC célja elválasztani az üzleti logikát

Részletesebben

XML adatkezelés I. Az SAX szabvány. Dr. Kovács László Miskolci Egyetem Általános Informatikai Tanszék. XML adatok kezelési lehetőségei

XML adatkezelés I. Az SAX szabvány. Dr. Kovács László Miskolci Egyetem Általános Informatikai Tanszék. XML adatok kezelési lehetőségei XML adatkezelés I. Az szabvány Dr. Kovács László Miskolci Egyetem Általános Informatikai Tanszék XML adatok kezelési lehetőségei szövegszerkesztő API XML DOM API XSL XQUERY Az XML dokumentumok feldolgozó

Részletesebben

Szathmáry László Debreceni Egyetem Informatikai Kar

Szathmáry László Debreceni Egyetem Informatikai Kar Szathmáry László Debreceni Egyetem Informatikai Kar 1. Gyakorlat bevezető JSON telepítés (utolsó módosítás: 2018. szept. 12.) 2018-2019, 1. félév MongoDB https://www.mongodb.com/ A MongoDB egy nem-relációs,

Részletesebben

Abstract osztályok és interface-ek. 7-dik gyakorlat

Abstract osztályok és interface-ek. 7-dik gyakorlat Abstract osztályok és interface-ek 7-dik gyakorlat Abstract metódusok és osztályok Az OO fejlesztés során olyan osztályokat is kialakíthatunk, melyeket csak továbbfejlesztésre, származtatásra lehet használni,

Részletesebben

Programozási technológia

Programozási technológia Programozási technológia Osztályszintű elérés Kivételkezelés, Fájlkezelés Dr. Szendrei Rudolf ELTE Informatikai Kar 2018. Osztályszintű elérés (statikusság) Az osztályban definiált attribútumok és műveletek

Részletesebben

Java bevezet o Kab odi L aszl o Kab odi L aszl o Java bevezet o

Java bevezet o Kab odi L aszl o Kab odi L aszl o Java bevezet o Miért Java? széleskörben elterjedt Micro Edition - beágyazott rendszerek, régi telefonok Standard Edition - PC, android ezen alapul Enterprise Edition - vállalati programok, web service-ek multiplatform

Részletesebben

Szoftvertechnológia alapjai Java előadások

Szoftvertechnológia alapjai Java előadások Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz e-mail: fandrew@mit.bme.hu tárgy honlap: http://home.mit.bme.hu/~fandrew/szofttech_hu.html A mai előadás tartalma: Miért pont Java?

Részletesebben

3. Határozza meg és írja ki a minta szerint, hogy a forrásállományban hány kémiai elem felfedezési adatai

3. Határozza meg és írja ki a minta szerint, hogy a forrásállományban hány kémiai elem felfedezési adatai Kémiai elemek felfedezése A kémiai elemek kémiailag tovább már nem bontható, egyszerű anyagok. Jelenleg 118 különböző kémiai elemet ismerünk, közüliik a Földön 94 található meg a természetben, ezeket természetes

Részletesebben

Az új be- és kimenet könyvtár

Az új be- és kimenet könyvtár Az új be- és kimenet könyvtár import java.io.ioexception; import java.io.fileinputstream; import java.io.fileoutputstream; import java.nio.channels.filechannel; import java.nio.bytebuffer; class Masol

Részletesebben

Segédanyag: Java alkalmazások gyakorlat

Segédanyag: Java alkalmazások gyakorlat Segédanyag: Java alkalmazások gyakorlat Készítette: Szabó Attila 2010/2011-2 félév, 11. gyakorlat (az előző 2 gyak közül az egyiken ZH volt, a másik szünet miatt elmaradt) 1 JAR fájl készítés A JAR (Java

Részletesebben

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) közönséges felhasználók SQL*Plus Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP dolgozó), DEPT osztály) "közönséges" felhasználók Adatszótár: metaadatokat tartalmazó, csak olvasható táblák táblanév-prefixek:

Részletesebben

OOP: Java 8.Gy: Gyakorlás

OOP: Java 8.Gy: Gyakorlás OOP: Java 8.Gy: Gyakorlás 43/1 B ITv: MAN 2019.04.10 43/2 Egy régebbi beszámoló anyaga 1. Feladat: Készítsen egy Szemely nevű osztályt a szokásos konvenciók betartásával, amely tárolja egy ember nevét

Részletesebben

Java gyakorlat feladatai e s megolda sai (2014.04.10)

Java gyakorlat feladatai e s megolda sai (2014.04.10) Java gyakorlat feladatai e s megolda sai (2014.04.10) 1. Feladat Számítsuk ki a Fibonacci sorozat első 20 tagját! / Fibonacci számsorozat tagjait kiszámoló, egyetlen osztályból álló program @author Bence

Részletesebben

Java Programozás 4. Gy: Java GUI. Tipper, MVC kalkulátor

Java Programozás 4. Gy: Java GUI. Tipper, MVC kalkulátor Java Programozás 4. Gy: Java GUI Tipper, MVC kalkulátor 15/1 B ITv: MAN 2018.03.10 1. Feladat: Tipper Készítsük el a tippelős programunk grafikus változatát. Az üzleti logika kódja megvan, a felület pedig

Részletesebben

Java és web programozás

Java és web programozás Budapesti M szaki Egyetem 2013. szeptember 11. Jó hír Jó hír Java lesz! Tárgyismertet Elérhet ségek: Kovács Kristóf: kkovacs@math.bme.hu Rimay Zoé: zrimay@math.bme.hu, Követelmények: Év végi beadandó (facebook):

Részletesebben

Kivételkezelés, naplózás. Exception handling, logging

Kivételkezelés, naplózás. Exception handling, logging Kivételkezelés, naplózás Exception handling, logging Try-catch try { // Kódrészlet, amely kivételt eredményezhet catch (Exception1 object1 ) { // Az Exception1 kivétel kezelésének megfelelő kód catch (Exception2

Részletesebben

Helyes-e az alábbi kódrészlet? int i = 1; i = i * 3 + 1; int j; j = i + 1; Nem. Igen. Hányféleképpen lehet Javaban megjegyzést írni?

Helyes-e az alábbi kódrészlet? int i = 1; i = i * 3 + 1; int j; j = i + 1; Nem. Igen. Hányféleképpen lehet Javaban megjegyzést írni? A "java Villa -v" parancs jelentése: A java interpreter elindítja a Villa osztály statikus main metódusát, és átadja neki paraméterként a "-v" stringet. A java interpreter elindítja először a Villa osztály

Részletesebben

SZÁMÍTÓGÉPES ADATBÁZIS-KEZELÉS. A MySQL adatbáziskezelő PHP folytatás JDBC, ODBC

SZÁMÍTÓGÉPES ADATBÁZIS-KEZELÉS. A MySQL adatbáziskezelő PHP folytatás JDBC, ODBC SZÁMÍTÓGÉPES ADATBÁZIS-KEZELÉS A MySQL adatbáziskezelő PHP folytatás JDBC, ODBC ADATBÁZISOK Adatbázis = adott formátum és rendszer szerint tárolt adatok összessége. DBMS feladatai: adatstruktúra (adatbázisséma)

Részletesebben

7. K: JAVA alapok Konzultáció

7. K: JAVA alapok Konzultáció Objektum Orientált Programozás 7. K: JAVA alapok Konzultáció 35/1B IT MAN B IT v: 2017.05.03 MAN Hiba, biztonságos program 01. Szintaktikai hiba imt i = 0; system.out.println( alma ); for (int i = 0, i

Részletesebben

3. modul - Szövegszerkesztés

3. modul - Szövegszerkesztés 3. modul - Szövegszerkesztés Érvényes: 2009. február 1-jétől Az alábbiakban ismertetjük a 3. modul (Szövegszerkesztés) syllabusát, amely a gyakorlati vizsga alapját képezi. A modul célja Ezen a vizsgán

Részletesebben

Informatika terméktervezőknek

Informatika terméktervezőknek Informatika terméktervezőknek C# alapok Névterület (namespace) using Osztály (class) és Obejtumok Metódus (function, procedure, method) main() static void string[] arg Szintaxis // /* */ \n \t Névadások

Részletesebben

Dokumentumformátumok Jelölő nyelvek XML XML. Sass Bálint sass@digitus.itk.ppke.hu. Bevezetés a nyelvtechnológiába 2. gyakorlat 2007. szeptember 20.

Dokumentumformátumok Jelölő nyelvek XML XML. Sass Bálint sass@digitus.itk.ppke.hu. Bevezetés a nyelvtechnológiába 2. gyakorlat 2007. szeptember 20. XML Sass Bálint sass@digitus.itk.ppke.hu Bevezetés a nyelvtechnológiába 2. gyakorlat 2007. szeptember 20. 1 DOKUMENTUMFORMÁTUMOK 2 JELÖLŐ NYELVEK 3 XML 1 DOKUMENTUMFORMÁTUMOK 2 JELÖLŐ NYELVEK 3 XML DOKUMENTUMFORMÁTUMOK

Részletesebben

INFORMATIKAI ALAPISMERETEK

INFORMATIKAI ALAPISMERETEK Informatikai alapismeretek középszint 1021 ÉRETTSÉGI VIZSGA 2011. május 13. INFORMATIKAI ALAPISMERETEK KÖZÉPSZINTŰ ÍRÁSBELI ÉRETTSÉGI VIZSGA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ NEMZETI ERŐFORRÁS MINISZTÉRIUM

Részletesebben

Programozási nyelvek Java

Programozási nyelvek Java Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 13. előadás Throwable Error Exception RuntimeException IOException Saját (általában) Nem ellenörzött kivételek (Unchecked

Részletesebben

OOP: Java 11.Gy: Enumok, beágyazott osztályok. 13/1 B ITv: MAN

OOP: Java 11.Gy: Enumok, beágyazott osztályok. 13/1 B ITv: MAN OOP: Java 11.Gy: Enumok, beágyazott osztályok 13/1 B ITv: MAN 2019.04.24 ArrayList Rugalmas tömb A tömbök korlátai Fix méret, nem lehet menet közben megnövelni Ha túl nagyra választjuk, fölösleges helyfoglalás

Részletesebben

BME MOGI Gépészeti informatika 4.

BME MOGI Gépészeti informatika 4. BME MOGI Gépészeti informatika 4. 1. feladat önálló feladatmegoldás Generáljon két 1 és 10 közötti véletlen egész számot, majd kiírja ezekre a számokra a tízes szorzótáblákat! Ha az első generált szám

Részletesebben

OOP: Java 4.Gy: Java osztályok

OOP: Java 4.Gy: Java osztályok OOP: Java 4.Gy: Java osztályok. 36/1 B ITv: MAN 2019.03.02 Feladat Készítsen el egy Employee osztályt és egy Employee osztályt használó osztályt (EmpProgram). Az Employee osztálynak: van name és salary

Részletesebben

OOP: Java 8.Gy: Abstract osztályok, interfészek

OOP: Java 8.Gy: Abstract osztályok, interfészek OOP: Java 8.Gy: Abstract osztályok, interfészek 26/1 B ITv: MAN 2019.04.03 Abszrakt metódus és absztrakt osztály. Gyakran előfordul a tervezés során, hogy egy osztály szintjén tudjuk, hogy valamilyen metódus

Részletesebben

Az osztályok csomagokba vannak rendezve, minden csomag tetszőleges. Könyvtárhierarhiát fed: Pl.: java/util/scanner.java

Az osztályok csomagokba vannak rendezve, minden csomag tetszőleges. Könyvtárhierarhiát fed: Pl.: java/util/scanner.java Függvények, csomagok Csomagok Az osztályok csomagokba vannak rendezve, minden csomag tetszőleges számú osztályt tartalmazhat Pl.: java.util.scanner Könyvtárhierarhiát fed: Pl.: java/util/scanner.java Célja:

Részletesebben

Vé V g é r g e r h e a h j a tá t s á i s s z s ál á ak a Runnable, Thread

Vé V g é r g e r h e a h j a tá t s á i s s z s ál á ak a Runnable, Thread Végrehajtási szálak Runnable, Thread Végrehajtási szálak Java-ban A Java program az operációs rendszer egy folyamatán (process) belül fut. A folyamat adat és kód szegmensekből áll, amelyek egy virtuális

Részletesebben

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar Programozás I. 3. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 1 Primitív típusok Típus neve Érték Alap érték Foglalt tár Intervallum byte Előjeles egész 0 8 bit

Részletesebben

ANDROID ALKALMAZÁSFEJLESZTÉS

ANDROID ALKALMAZÁSFEJLESZTÉS ANDROID ALKALMAZÁSFEJLESZTÉS Adattárolás SharedPreference Belső - külső tároló PreferenceActivity Felhő alapú tárolás SQLite sicz.mj[tekercs]gmail.com Sicz-Mesziár János 2013. július 3. Shared Preference

Részletesebben

Java Programozás 9. Gy: Java alapok. Adatkezelő 5.rész

Java Programozás 9. Gy: Java alapok. Adatkezelő 5.rész Java Programozás 9. Gy: Java alapok Adatkezelő 5.rész 15/1 B ITv: MAN 2018.04.22 A Keresés funkció Programlogika: 1. A keresés az etm táblamodellben fog keresni, és a találat rekordokat átmásolja egy másik

Részletesebben

Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama. 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra

Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama. 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama 10. évfolyam: 105 óra 11. évfolyam: 140 óra 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra 36 óra OOP 14 óra Programozási

Részletesebben

Programozási nyelvek II.: JAVA

Programozási nyelvek II.: JAVA Programozási nyelvek II.: JAVA 5. gyakorlat 2017. október 9-13. 5. gyakorlat Programozási nyelvek II.: JAVA 1 / 34 Az 5. gyakorlat tematikája Kivételkezelés alapjai Be és kimenet BufferedReader, Scanner

Részletesebben

JavaServer Pages (JSP) (folytatás)

JavaServer Pages (JSP) (folytatás) JavaServer Pages (JSP) (folytatás) MVC architektúra a Java kiszolgálón Ügyfél (Böngésző) 5 View elküldi az oldal az ügyfélez View (JSP) Ügyfél üzenet küldése a vezérlőnek 1 3 4 Kérelem továbbítása a megjelenítőnek

Részletesebben

Pénzügyi algoritmusok

Pénzügyi algoritmusok Pénzügyi algoritmusok A C++ programozás alapjai Folyamok kezelése Fájlok írása/olvasása Folyamok kezelése Szabvány folyamok Eddig Kiírás a szöveges konzolra:

Részletesebben

Bánsághi Anna anna.bansaghi@mamikon.net

Bánsághi Anna anna.bansaghi@mamikon.net ESEMÉNYVEZÉRELT PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 2. ELŐADÁS - C# ÁTTEKINTÉS - 2 2015 Bánsághi Anna 1 of 64 TEMATIKA I. C# ÁTTEKINTÉS II. WPF III. Modern UI 2015 Bánsághi Anna 2 of 64

Részletesebben

Enterprise JavaBeans 1.4 platform (EJB 2.0)

Enterprise JavaBeans 1.4 platform (EJB 2.0) Enterprise JavaBeans 1.4 platform (EJB 2.0) Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2007. 11.13. Az Enterprise JavaBeans Az Enterprise Javabeans Az Enterprise JavaBeans

Részletesebben

Programozási nyelvek Java

Programozási nyelvek Java Programozási nyelvek Java 2. gyakorlat Függvények Általános prototípus Módosítószavak Láthatóság: public, protected, private. Ha nem definiált, akkor úgynevezett package-private láthatóság. Lehet abstract

Részletesebben

OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN. vizsgatételek

OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN. vizsgatételek OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN vizsgatételek 1. Az objektumorientált programozás szemlélete, az objektum fogalma 2. Az objektumorientált programozás alapelvei 3. A Java nyelv története, alapvető

Részletesebben

Enterprise JavaBeans. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem. Az Enterprise JavaBeans

Enterprise JavaBeans. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem. Az Enterprise JavaBeans Enterprise JavaBeans Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Az Enterprise JavaBeans Az Enterprise Javabeans Az Enterprise JavaBeans (EJB) server oldali komponens, amely Az üzleti

Részletesebben

Objektumorientált programozás C# nyelven

Objektumorientált programozás C# nyelven Objektumorientált programozás C# nyelven 3. rész Tulajdonságok Indexelők Kivételkezelés Hallgatói tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő anyag vázlatát

Részletesebben

OOP és UML Áttekintés

OOP és UML Áttekintés OOP és UML Áttekintés Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) OOP és UML Áttekintés 2013 1 / 32 Tartalom jegyzék 1 OOP Osztály Öröklődés Interfész, Absztrakt Osztály Kivétel kezelés

Részletesebben

4. Gy: JAVA osztályok

4. Gy: JAVA osztályok Objektum Orientált Programozás 4. Gy: JAVA osztályok 25/1B IT MAN B IT v: 2016.02.24 MAN Feladatok 1. Készítsen egy Teglalap osztályt - legyen adattagja a két oldal tárolására (egészek) - legyen konstruktora,

Részletesebben

Bevezető. Servlet alapgondolatok

Bevezető. Servlet alapgondolatok A Java servlet technológia Fabók Zsolt Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2008. 03. 06. Servlet Bevezető Igény a dinamikus WEB tartalmakra Előzmény: CGI Sokáig

Részletesebben

Java és web programozás

Java és web programozás Budapesti Műszaki Egyetem 2015. 04. 08. 10. Előadás Ami kimearad múlthéten Ha már megvan a KeyListener vagy MouseListener osztályunk a következõ módon tudjuk hozzárendelni egy JFrame vagy JPanel-hez: Ami

Részletesebben

Bevezetés Működési elv AJAX keretrendszerek AJAX

Bevezetés Működési elv AJAX keretrendszerek AJAX AJAX Áttekintés Bevezetés Működési elv AJAX-ot támogató keretrendszerek Áttekintés Bevezetés Működési elv AJAX-ot támogató keretrendszerek Áttekintés Bevezetés Működési elv AJAX-ot támogató keretrendszerek

Részletesebben

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport 10-es Keressünk egy egész számokat tartalmazó négyzetes mátrixban olyan oszlopot, ahol a főátló alatti elemek mind nullák! Megolda si terv: Specifika cio : A = (mat: Z n m,ind: N, l: L) Ef =(mat = mat`)

Részletesebben

Java. Perzisztencia. ANTAL Margit. Java Persistence API. Object Relational Mapping. Perzisztencia. Entity components. ANTAL Margit.

Java. Perzisztencia. ANTAL Margit. Java Persistence API. Object Relational Mapping. Perzisztencia. Entity components. ANTAL Margit. Sapientia - EMTE 2008 Az előadás célja JPA - - perzisztencia ORM - - Objektumrelációs leképzés - Entitásbabok Állandóság Mechanizmus amely során az alkalmazás adatai megőrzésre kerülnek valamely perzisztens

Részletesebben

OOP: Java 1.Gy: Java alapok

OOP: Java 1.Gy: Java alapok OOP: Java 1.Gy: Java alapok Eclipse alapok O O P Objektum Orientált Programozás 31/1 B ITv: MAN 2019.02.25 Feladat Írja meg a 4 alapműveletet megvalósító Kalkulátor programot Java nyelven. Az elvégzendő

Részletesebben

CREATE TABLE student ( id int NOT NULL GENERATED ALWAYS AS IDENTITY PRIMARY KEY, name varchar(100) NOT NULL, address varchar(100) NOT NULL )

CREATE TABLE student ( id int NOT NULL GENERATED ALWAYS AS IDENTITY PRIMARY KEY, name varchar(100) NOT NULL, address varchar(100) NOT NULL ) Célok: a Java DB adatbázis-kezelő rendszer használatának ismertetése, adatbázisok használata Java alkalmazásokban - kétrétegű architektúra, egyszerű kliens-szerver architektúra használata hálózati alkalmazásokhoz.

Részletesebben

Grafikus keretrendszer komponensalapú webalkalmazások fejlesztéséhez

Grafikus keretrendszer komponensalapú webalkalmazások fejlesztéséhez Grafikus keretrendszer komponensalapú webalkalmazások fejlesztéséhez Székely István Debreceni Egyetem, Informatikai Intézet A rendszer felépítése szerver a komponenseket szolgáltatja Java nyelvű implementáció

Részletesebben

Java és web programozás

Java és web programozás Budapesti Műszaki Egyetem 2015. 02. 11. 2. Előadás Mese Néhány programozási módszer: Idők kezdetén való programozás Struktúrált Moduláris Funkcionális Objektum-orientált... Mese Néhány programozási módszer:

Részletesebben

Példaprogramok Android alá (Lista, mentés, visszatöltés, pattogó android figura) Android alapok. Android játékfejlesztés.

Példaprogramok Android alá (Lista, mentés, visszatöltés, pattogó android figura) Android alapok. Android játékfejlesztés. Példaprogramok Android alá (Lista, mentés, visszatöltés, pattogó android figura) Android alapok Android játékfejlesztés Godinek László Tartalomjegyzék 1 Mentés... 1 1.1 A fájlmentésről röviden... 1 1.2

Részletesebben

Webes alkalmazások fejlesztése 4. előadás. Megjelenítés és tartalomkezelés (ASP.NET)

Webes alkalmazások fejlesztése 4. előadás. Megjelenítés és tartalomkezelés (ASP.NET) Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 4. előadás (ASP.NET) 2016 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Nézetek kezelése Sok esetben

Részletesebben

JAVA webes alkalmazások

JAVA webes alkalmazások JAVA webes alkalmazások Java Enterprise Edition a JEE-t egy specifikáció definiálja, ami de facto szabványnak tekinthető, egy ennek megfelelő Java EE alkalmazásszerver kezeli a telepített komponensek tranzakcióit,

Részletesebben

abkezel.java import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.sql.*; public class abkezel extends JFrame {

abkezel.java import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.sql.*; public class abkezel extends JFrame { Adatkezelés JDBC-vel 1 abkezel.java import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.sql.*; public class abkezel extends JFrame { private JTabbedPane jtp; private JPanel dp,

Részletesebben

Tájékoztató. Használható segédeszköz: -

Tájékoztató. Használható segédeszköz: - A 12/2013. (III. 29.) NFM rendelet szakmai és vizsgakövetelménye alapján. Szakképesítés, azonosítószáma és megnevezése 54 481 06 Informatikai rendszerüzemeltető Tájékoztató A vizsgázó az első lapra írja

Részletesebben

Programozási technológia

Programozási technológia Programozási technológia Grafikus felhasználói felület Dr. Szendrei Rudolf ELTE Informatikai Kar 2018. Grafikus felhasználói felület Két csomag elemeiből lehet a felületet elkészíteni awt,,heavy weight"

Részletesebben

Torna. A torna.csv UTF-8 kódolású állományban soronként egy versenyző eredményeit tároljuk. Az adatokat pontosvessző választja el egymástól.

Torna. A torna.csv UTF-8 kódolású állományban soronként egy versenyző eredményeit tároljuk. Az adatokat pontosvessző választja el egymástól. Torna A pekingi olimpián tornából hat versenyszámban mérettetik meg magukat a versenyzők. Ennek a versenynek az eredményeit kell feldolgoznia ebben a feladatban. A megoldás során vegye figyelembe a következőket:

Részletesebben

Segédanyag: Java alkalmazások gyakorlat

Segédanyag: Java alkalmazások gyakorlat Segédanyag: Java alkalmazások gyakorlat Készítette: Szabó Attila 2009/2010-2 félév, 12. gyakorlat 1 Távoli metódushívás Java-ban (RMI) Java-ban a távoli metódushívás ( Remote Method Invocation, RMI) egy

Részletesebben

BME MOGI Gépészeti informatika 8.

BME MOGI Gépészeti informatika 8. BME MOGI Gépészeti informatika 8. 1. feladat Készítse beosztottak és vezetők munkahelyi adatait kezelő alkalmazást! A feladat megoldásához hozza létre a következő osztályokat! Beosztott osztály: adatmező

Részletesebben

és az instanceof operátor

és az instanceof operátor Java VIII. Az interfacei és az instanceof operátor Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 24. Java VIII.: Interface JAVA8 / 1 Az interfészről általában

Részletesebben

Webes alkalmazások fejlesztése 4. előadás. Megjelenítés és tartalomkezelés (ASP.NET) Cserép Máté.

Webes alkalmazások fejlesztése 4. előadás. Megjelenítés és tartalomkezelés (ASP.NET) Cserép Máté. Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 4. előadás (ASP.NET) Cserép Máté mcserep@inf.elte.hu http://mcserep.web.elte.hu Készült Giachetta Roberto jegyzete alapján

Részletesebben

Java VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán

Java VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán Java VIII. Az interfacei és az instanceof operátor Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 24. Java VIII.: Interface JAVA8 / 1 Az interfészről általában

Részletesebben

Objektum Orientált Programozás. 5. JAVA osztályok 21/1B IT MAN

Objektum Orientált Programozás. 5. JAVA osztályok 21/1B IT MAN Objektum Orientált Programozás 5. JAVA osztályok 21/1B IT MAN B IT v: 2016.03.09 MAN Feladatok 1. Készítsen egy Alkalmazott osztályt - legyen név, kor és fizetés adata - legyen egy osztályszintű adattagja

Részletesebben

XML / CSV specifikáció

XML / CSV specifikáció Ajánlatok átadása az rendszerébe Termékeinek az Olcsóbbat.hu rendszerében történő megjelenítéséhez termékadatbázisát az ebben a dokumentumban megfogalmazott szabályoknak megfelelően kell formáznia, legyen

Részletesebben

Stateless Session Bean

Stateless Session Bean Stateless Session Bean Készítsünk egy stateless session bean-t, amellyel összeadhatunk két számot. Hozzunk létre egy Dynamic Web projectet File New Other itt a következőket kell választani: Web Dynamic

Részletesebben

Intelligens közlekedési rendszerek (ITS)

Intelligens közlekedési rendszerek (ITS) Budapesti Műszaki és Gazdaságtudományi Egyetem Közlekedésüzemi és Közlekedésgazdasági Tanszék Intelligens közlekedési rendszerek (ITS) Térinformatika (GIS) közlekedési alkalmazásai Közlekedési adatbázisok

Részletesebben

QBE Édes Otthon lakásbiztosítás tarifáló webservice. Fejlesztői dokumentáció 1.0.2

QBE Édes Otthon lakásbiztosítás tarifáló webservice. Fejlesztői dokumentáció 1.0.2 QBE Édes Otthon lakásbiztosítás tarifáló webservice Fejlesztői dokumentáció 1.0.2 Az ebben a dokumentumban található információ a FoxArt Kft. tulajdona, és bizalmas anyagként került átadásra. Az anyag

Részletesebben

Szöveges fájl kezelése (a Caesar-kód feltörése) A kód feltörésének statisztikai háttere

Szöveges fájl kezelése (a Caesar-kód feltörése) A kód feltörésének statisztikai háttere Szöveges fájl kezelése (a Caesar-kód feltörése) A kód feltörésének statisztikai háttere Hosszabb szöveg esetén a Caesar-kód feltörése a statisztika módszereivel könnyen megoldható. Az egyes betűk előfordulásának

Részletesebben

A WEB programozása - JSP1 dr.gál Tibor. 2010. őszi félév

A WEB programozása - JSP1 dr.gál Tibor. 2010. őszi félév Általános jellemzők JavaServer Pages (JSP) Java utasításokat helyezetünk el a HTML lapon Ezket a Java utasításokat a kiszolgáló végrehajtja Az ügyfél felé generált tartalom: statikus HTML kód + Java utasítások

Részletesebben

JAVA SE/ME tanfolyam tematika

JAVA SE/ME tanfolyam tematika JAVA SE/ME tanfolyam tematika TANFOLYAM TEMATIKA: A JAVA MEGISMERÉSE Java története, miért készült, miért népszerű NETBEANS környezet telepítése, megismerése Programozási alapok java nyelven Változók,primitív

Részletesebben

XML / CSV specifikáció

XML / CSV specifikáció Ajánlatok átadása az rendszerébe Termékeinek az Olcsóbbat.hu rendszerében történő megjelenítéséhez termékadatbázisát az ebben a dokumentumban megfogalmazott szabályoknak megfelelően kell formáznia, legyen

Részletesebben

Előszó. Bevezetés. Java objektumok leképzése relációs adatbázisokra OJB-vel Viczián István (viczus@freemail.hu) Viczián István

Előszó. Bevezetés. Java objektumok leképzése relációs adatbázisokra OJB-vel Viczián István (viczus@freemail.hu) Viczián István Java objektumok leképzése relációs adatbázisokra -vel Viczián István (viczus@freemail.hu) Előszó E cikk olyan haladó programozóknak nyújt segítséget, kik tisztában vannak a Java nyelvvel, és többször is

Részletesebben

INFORMATIKAI ALAPISMERETEK

INFORMATIKAI ALAPISMERETEK Informatikai alapismeretek középszint 0801 ÉRETTSÉGI VIZSGA 2009. május 22. INFORMATIKAI ALAPISMERETEK KÖZÉPSZINTŰ ÍRÁSBELI ÉRETTSÉGI VIZSGA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ OKTATÁSI ÉS KULTURÁLIS MINISZTÉRIUM

Részletesebben

Programozási nyelvek Java

Programozási nyelvek Java Programozási nyelvek Java 9. gyakorlat Fájlkezelés A fájlkezelés Java-ban különböző osztályok összekapcsolásával történik. Minden egyes osztály valamilyen minimális szolgáltatást tesz hozzá a többihez.

Részletesebben

Webes alkalmazások fejlesztése 4. előadás. Megjelenítés és tartalomkezelés (ASP.NET Core) Cserép Máté

Webes alkalmazások fejlesztése 4. előadás. Megjelenítés és tartalomkezelés (ASP.NET Core) Cserép Máté Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 4. előadás Megjelenítés és tartalomkezelés (ASP.NET Core) Cserép Máté mcserep@inf.elte.hu http://mcserep.web.elte.hu Nézetek

Részletesebben

Kommunikáció Androidon Mobilinternet Wifi

Kommunikáció Androidon Mobilinternet Wifi OE-NIK 2012. március 24. Sicz-Mesziár János sicz-mesziar.janos@ nik.uni-obuda.hu Kommunikáció Androidon Mobilinternet Wifi Kommunikációs eszközök Androidon Wi-Fi Ma már minimum: a / b / g szabványok, újabbakon

Részletesebben

Java programozási nyelv

Java programozási nyelv Szoftvertechnológia sáv Java programozási nyelv Dirk Louis-Peter Müller: Java (Belépés az internet világába) Panem kiadó, Budapest, 2002. Webvilág sorozat Készítette: Gregorics Tibor Vázlatos áttekintés

Részletesebben

Technikai információk fejlesztőknek

Technikai információk fejlesztőknek Technikai információk fejlesztőknek Különbségek a Java-s nyomtatványkitöltő program és az Abev2006 között 1. A mezőkód kijelzés bekapcsolása a Szerviz/Beállítások ablakban érhető el. 2. Az xml állományok

Részletesebben

BME MOGI Gépészeti informatika 13.

BME MOGI Gépészeti informatika 13. BME MOGI Gépészeti informatika 13. 1. feladat Készítsen alkalmazást, mely elvégzi a következő feladatokat! a. Állítson elő adott intervallumba eső, adott számú véletlen számot, és írja ki a számokat egy

Részletesebben

Szoftvertechnolo gia gyakorlat

Szoftvertechnolo gia gyakorlat Szoftvertechnolo gia gyakorlat Dr. Johanyák Zsolt Csaba http://johanyak.hu 1. Dependency Injection (függőség befecskendezés) tervezési minta A tervezési minta alapgondolata az, hogy egy konkrét feladatot

Részletesebben

Programozás III CSOMAGOK. Az összetartozó osztályok és interfészek egy csomagba (package) kerülnek.

Programozás III CSOMAGOK. Az összetartozó osztályok és interfészek egy csomagba (package) kerülnek. Programozás III CSOMAGOK Az összetartozó osztályok és interfészek egy csomagba (package) kerülnek. A Java is csomagok halmaza: csomagokban van a fejlesztő környezet és az osztálykönyvtárak is: rt.jar fájl

Részletesebben

Felhasználói leírás a DimNAV Server segédprogramhoz ( )

Felhasználói leírás a DimNAV Server segédprogramhoz ( ) Felhasználói leírás a DimNAV Server segédprogramhoz (1.1.0.3) Tartalomjegyzék Bevezetés...3 1. Telepítés...3 2. Eltávolítás...4 Program használata...5 1. Kezdeti beállítások...5 2. Licenc megadása...6

Részletesebben

Java XML kezelés labor

Java XML kezelés labor Java XML kezelés labor Készítette: Goldschmidt Balázs, BME IIT, 2015. A feladatok megoldásához felhasználandó osztályok leírásait az alábbi URL-en találja meg: https://docs.oracle.com/javase/8/docs/api/javax/xml/parsers/package-summary.html

Részletesebben

Tájékoztató. Használható segédeszköz: -

Tájékoztató. Használható segédeszköz: - A 35/2016. (VIII. 31.) NFM rendelet szakmai és vizsgakövetelménye alapján. Szakképesítés, azonosító száma és megnevezése 54 481 06 Informatikai rendszerüzemeltető Tájékoztató A vizsgázó az első lapra írja

Részletesebben

Sikeres végrehajtás(pass): ez azt jelenti, hogy a teszt rendben lefutott, és az ellenőrzési feltételek mind teljesültek.

Sikeres végrehajtás(pass): ez azt jelenti, hogy a teszt rendben lefutott, és az ellenőrzési feltételek mind teljesültek. 1 1. fejezet A JUnit tesztelési környezet A JUnit egy szabad forráskódú modultesztelő rendszer, amely Java programjaink automatikus teszteléséhez nyújt segítséget. A rendszer letölthető a http://junit.org

Részletesebben

Programozási nyelvek II. JAVA

Programozási nyelvek II. JAVA Programozási nyelvek II. JAVA 8. gyakorlat 2017. november 6-10. Általános tudnivalók A feladatmegoldás során fontos betartani az elnevezésekre és típusokra vonatkozó megszorításokat, illetve a szövegek

Részletesebben