java programozás - university of...

77
B IT M A N 77/1 v: 2018.02.05 B IT M A N 10. Ea: Extrák Java Programozás

Upload: others

Post on 22-Feb-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/1 v: 2018.02.05B IT MAN

10. Ea: Extrák

Java Programozás

Page 2: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/2

Page 3: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/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.

Page 4: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/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

• 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

– Pl:

<konyv><szerzo>Brian W. Aldiss</szerzo><cim>Amíg világ a világ</cim>

</konyv>

Page 5: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/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-8859-2" standalone="no"?>

<konyv mufaj="sci-fi"><szerzo>Brian W. Aldiss</szerzo><cim>Amíg világ a világ</cim>

</konyv>

Page 6: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/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.

Page 7: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/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

Page 8: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/8

XML készítés Java nyelven

Elnevezések:

1.

2.

3.

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.

1.

2.

3.

Az Element-ek, mivel konténerek, egymásba rakhatók, így többszintű xml

tartalom alakítható ki.

Page 9: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/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!

Page 10: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/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);

Page 11: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/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-8859-2");tr.setOutputProperty("{http://xml.apache.org/xslt}

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} // end program

Page 12: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/12

XML készítés Java nyelven

DOMAdatok DocumentBuilder Transformer XML file

Page 13: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/13

XML olvasás Java nyelven

XML file DOMDocumentBuilder AdatokKiolvasás

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.

Page 14: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/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();

Page 15: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/15

XML olvasás Java nyelventry {

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());}

}}

1. 2.

3.

4.

Page 16: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/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.

Page 17: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/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);

}

Page 18: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/18 B IT MAN

Page 19: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/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;

public Konyv(String s, String c){szerzo = s;cim = c;

}public String getSzerzo(){return szerzo;

}public String getCim(){return cim;

}}

Page 20: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/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");

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());}}

}

Page 21: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/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());}

}}

Page 22: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/22

Page 23: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/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ímKaterina Diamond;A titokCaleb Carr;A halál angyala

Page 24: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/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());}

}}

Page 25: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/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 neveis=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());}}

}

CSV – Olvasás fájlból

Page 26: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/26 B IT MAN

Page 27: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/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.

Page 28: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/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: 25.652

• 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

Page 29: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/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"

}]

}}

Page 30: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/30

JSON – XML

{"konyvek": {"konyv": [

{"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

Page 31: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/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:

http://www.java2s.com/Code/Jar/o/Downloadorgjsonjar.htm

Page 32: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/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 google-

gson. Letöltése:

https://repo1.maven.org/maven2/com/google/code/gson/gson/2.8.2/

Page 33: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/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:

Page 34: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/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.

Page 35: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/35

JSON – Fájlba írás

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

Page 36: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/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.

Page 37: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/37

JSON – a kiírt fájl tartalma

Page 38: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/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.

Page 39: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/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.

Page 40: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/40 B IT MAN

Page 41: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/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: "http://www.example.com/docs/resource1.html"

Page 42: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/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("http://www...");URLConnection conn = url.openConnection();BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));

Page 43: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/43

Fájl beolvasása a webrőlimport java.io.*;import java.net.*;public class NetReader {public static void main(String[] args) {String url = "http://users.iit.uni-miskolc.hu/~szucs/data.txt";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());}

}}

Page 44: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/44

Page 45: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/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!):

http://www.java2s.com/Code/Jar/i/Downloaditextpdf541jar.htm

Page 46: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/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:

5. Hozzá kell adni a bekezdést a dokumentumhoz:

Document document = new Document();

PdfWriter.getInstance(document, new FileOutputStream(fname));

document.open();

Paragraph par = new Paragraph ("Lista a könyvekről", fnt);

document.add(par);

Page 47: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/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 PdfWriter-

re, 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:

– 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:

document.close();

BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA,BaseFont.CP1250, BaseFont.EMBEDDED);

Font fnt = new Font(bf, 14);Font fnt = new Font(bf, 12, Font.BOLD);//Font.ITALIC, Font.UNDERLINE

Page 48: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/48

PDF fájl készítése a com.itextpdf csomaggal

Ha kész a dokumentum, érdemes egy üzenet (és egy gombnyo-

má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());

}

Page 49: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/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();

Page 50: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/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

Page 51: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/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();

}}

Page 52: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/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):

2. Adjuk meg a táblázat szélességét (az oldalszélesség

százalékában):

3. Hozzunk létre egy PdfPCell-t, és adjuk meg a cella tartalmát:

PdfPTable table = new PdfPTable(3); //oszlopok száma

float[] widths = {4, 5};PdfPTable table = new PdfPTable(widths); //oszlopok szélessége

table.setWidthPercentage(60);

PdfPCell c = new PdfPCell(new Paragraph("szöveg", font));

Page 53: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/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.

6. Állítsuk be a táblázat vízszintes elhelyezkedését:

7. Adjuk hozzá a kész táblázatot a dokumentumhot:

table.addCell(c);

table.setHorizontalAlignment(Element.ALIGN_LEFT);

document.add(table);

1 2 3

4 5 6

7 8 9

Page 54: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/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);

Page 55: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/55 B IT MAN

Page 56: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/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

Page 57: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/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");

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();}}

}

ZIP fájl – becsomagolás

Page 58: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/58

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();}}

}

ZIP fájl – kicsomagolás

Page 59: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/59 B IT MAN

Page 60: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/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.

Page 61: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/61

JAR fájl készítése

Készítsünk egy emp.mft nevű szöveges fájlt, az alábbi

tartalommal:

– 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

Page 62: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/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-3.21.0.jar

– a pdf drivert: itext-5-4-0-.jar

A tartalomnak megfelelő kiadandó parancs:

jar cvfm0 Emp.jar emp.mft Emp*.class FileManager.class CH.classsqlite-jdbc-3.21.0.jar itextpdf-5.4.0.jar

Page 63: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/63

JAR fájl készítése

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)

jar cvfm0 Emp.jar emp.mft Emp*.class FileManager.class CH.classsqlite-jdbc-3.21.0.jar itextpdf-5.4.0.jar

Page 64: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/64

JAR fájl készítése

Page 65: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/65

Page 66: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/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

1. ____________ ____________________

2. ____________ ____________________

Kategóri neve: Tartalma:

Page 67: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/67

Teszt 2.

Mi a DOM?

Document Object Model

Development Object Markup

Detected Object Matrix

Development Of Methods

Document Oriented Model

Page 68: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/68

Teszt 3.

Mi az XML?

eXtensible Markup Language

Example Markup Language

X-Markup Language

eXtra Modern Link

Page 69: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/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>

Page 70: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/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");

Page 71: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/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);

Page 72: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/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

Page 73: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/73

Teszt 8.

Az org.json csomagot használva, a Java kódban hogyan

nevezik az adatot tartalmazó objektumot?

JSONObject

Element

Node

jsonData

jsonEntry

Page 74: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/74

Teszt 9.

Igaz vagy hamis az állítás?

Az állítás igaz

Az állítás hamis

Az állítás részben igaz, a csomag része a Java 7 EE-

nek része, de nincs benne az SE kiadásban.

Nincs zip fájl készítésére alkalmas csomag a Javaban.

Page 75: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/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

Page 76: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/76 B IT MAN

Page 77: Java Programozás - University of Miskolcusers.iit.uni-miskolc.hu/~szucs/jprog/oa/17_EA_10_Extrak...77/3 B IT MAN XML –Extensible Markup Language Kiterjeszthető jelölő nyelv A

B IT MAN77/77

VÉGEVÉGE