13. Állományok, bejegyzések 14. Folyamok 15. Közvetlen hozzáférésű állomány. Programozási technológia (Java) - III. / 1
|
|
- Géza Székely
- 5 évvel ezelőtt
- Látták:
Átírás
1 13. Állományok, bejegyzések 14. Folyamok 15. Közvetlen hozzáférésű állomány Programozási technológia (Java) - III. / 1
2 13. Állományok, bejegyzések 1. A java.io csomag 2. Útvonalak 3. A File osztály 4. Állományműveletek 5. Szűrés FilenameFilter interfész 6. Állománykiválasztó dialógus JFileChooser 7. Könyvtár felderítése rekurzióval Programozási technológia (Java) - III. / 2
3 java.lang.object +--File +--FilenameFilter +--InputStream +--ByteArrayInputStream +--FileInputStream +--FilterInputStream +--DataInputStream DataInput +--BufferedInputStream ObjectInputStream ObjectInput OutputStream +--ByteArrayOutputStream +--FileOutputStream +--FilterOutputStream +--DataOutputStream DataOutput +--BufferedOutputStream +--PrintStream ObjectOutputStream ObjectOutput... Programozási technológia (Java) - III. / 3 java.lang.object +--Reader +--InputStreamReader +--FileReader +--BufferedReader +--Writer +--OutputStreamWriter +--FileWriter +--PrintWriter +--BufferedWriter DataInput DataOutput +--RandomAccessFile java.io csomag
4 Útvonalak Absztrakt / valódi útvonal A valódi útvonal részei Prefix: " "/"(Unix), "c:\", "\\"(Windows) Nulla vagy több név szeparátorokkal elválasztva Szeparátor: "/"(Unix), "\"(Windows) Útvonalszeparátor: ":"(Unix), ";"(Windows) Helyi / távoli Abszolút útvonal Abszolút / relatív Aktuális könyvtár Szülő / gyermek Relatív útvonal Név c:\javaprog\work\icons\insert.gif Programozási technológia (Java) - III. / 4 Szülő útvonal Gyermek útvonal
5 Bejegyzést reprezentál Programozási technológia (Java) - III. / 5 File osztály A bejegyzést útvonalával azonosítja Mezők static String separator static char separatorchar static String pathseparator static char pathseparatorchar Konstruktorok File(String pathname) File(String parent, String child) File(File parent, String child)
6 Programozási technológia (Java) - III. / 6 File osztály (folyt.) Metódusok - A bejegyzés útvonala boolean isabsolute() String getabsolutepath() File getabsolutefile() String getpath() String getcanonicalpath() throws IOException File getcanonicalfile() throws IOException String getparent() File getparentfile() String getname()
7 Programozási technológia (Java) - III. / 7 File osztály (folyt.) Metódusok - A bejegyzés tulajdonságai boolean isdirectory() boolean isfile() long length() long lastmodified() boolean setlastmodified(long time) boolean canread() boolean canwrite() boolean exists() boolean ishidden() boolean setreadonly()
8 File osztály (folyt.) Metódusok - Karbantartás boolean mkdir() boolean mkdirs() boolean createnewfile() throws IOException boolean delete() void deleteonexit() boolean renameto(file dest) Programozási technológia (Java) - III. / 8
9 Metódusok - Egyéb Programozási technológia (Java) - III. / 9 File osztály (folyt.) Metódusok - Bejegyzéslisták String[] list() String[] list(filenamefilter filter) File[] listfiles() File[] listfiles(filenamefilter filter) static File[] listroots() equals(object o) compareto(file pathname) compareto(object o) String tostring()
10 Programozási technológia (Java) - III. / 10 Állományműveletek Feladat Átnevezés, törlés, létrehozás (RenDel) Adva vannak a következő könyvtárak és állományok: c:/javaprog/work/proba/app.java c:/javaprog/work/proba/fileattributes.class c:/javaprog/work/proba/fileattributes.java c:/javaprog/work/proba/icons/delete.gif c:/javaprog/work/proba/icons/insert.gif A c:/javaprog/work/proba könyvtárban végezzük el a következő állományműveleteket: Nevezzük át az App.java állományt App.~jav-ra! Töröljük ki a teljes icons könyvtárat! Feltételezzük, hogy abban nincs további könyvtár. Hozzunk létre egy üres readme.txt szöveges állományt! Minden egyes művelet után listázzuk ki a könyvtár tartalmát!
11 import java.io.*; public class RenDel { static void printdir(string dir) { File f = new File(dir); if (!f.exists() f.isfile()) { System.out.println(dir+" nem egy konyvtár."); return; System.out.println(dir+" bejegyzései:"); String[] list = f.list(); for (int i=0; i<list.length; i++) System.out.println(list[i]); System.out.println(); Programozási technológia (Java) - III. / 11
12 public static void main (String args[]) { String dir = "c:/javaprog/work/proba"; printdir(dir); File f = new File(dir,"App.java"); if (f.renameto(new File(dir,"App.~jav"))) System.out.println("Az átnevezés sikerült."); else System.out.println("Az átnevezés nem sikerült."); printdir(dir); f = new File(dir,"icons"); File[] list = f.listfiles(); Programozási technológia (Java) - III. / 12
13 if (list!=null) { for (int i=0; i<list.length; i++) list[i].delete(); if (f.delete()) System.out.println("A törlés sikerült."); else System.out.println("A törlés nem sikerült."); printdir(dir); else // list==null System.out.println("Nincs ilyen könyvtár."); Programozási technológia (Java) - III. / 13
14 f = new File(dir,"readme.txt"); try { f.createnewfile(); System.out.println("A létrehozás sikerült."); catch(ioexception e) { System.out.println("A létrehozás nem sikerült."); printdir(dir); // main // RenDel Programozási technológia (Java) - III. / 14
15 Szűrés FilenameFilter interfész Könyvtárbejegyzések szűrését szolgálja Metódus boolean accept(file dir, String name) Feladat Szűrés Írjuk ki konzolra a program paramétereként megadott könyvtár összes exe állományát! Ha nem adnak meg paramétert, akkor az aktuális könyvtárból listázzunk! Futtatáskor a program paramétere legyen a java home könyvtár bin alkönyvtára! Programozási technológia (Java) - III. / 15
16 import java.io.*; class FiletypeFilter implements FilenameFilter { private String extension; public FiletypeFilter(String extension) { this.extension = extension.touppercase(); public boolean accept(file dir, String name) { return name.touppercase().endswith('.'+extension); Programozási technológia (Java) - III. / 16
17 public class Szures { public static void main(string[] args) { File f; if (args.length>0) f = new File(args[0]); else f = new File("."); if (!f.isdirectory()) { System.out.println("Nincs, vagy nem könyvtár."); return; Programozási technológia (Java) - III. / 17
18 String[] list = f.list(new FiletypeFilter("exe")); System.out.println(f.getAbsolutePath() + " könyvtár exe állományai:"); for(int i=0; i<list.length; i++) System.out.println(list[i]); // Szures Programozási technológia (Java) - III. / 18
19 Állománykiválasztó dialógus JFileChooser Könyvtárlista Könyvtár Fájlnév Szűrő Programozási technológia (Java) - III. / 19
20 Állománykiválasztó dialógus JFileChooser (folyt.) Modális dialógus ablak, melynek feladata egy abszolút útvonal bekérése A dialógus elemei Aktuális könyvtár Könyvtárlista Szűrő Fájlnév Dialógus típusai: megnyitás, mentés Mezők static int OPEN_DIALOG, SAVE_DIALOG static int APPROVE_OPTION, CANCEL_OPTION, ERROR_OPTION Programozási technológia (Java) - III. / 20
21 Állománykiválasztó dialógus JFileChooser (folyt.) Jellemzők String dialogtitle int dialogtype (OPEN_DIALOG, SAVE_DIALOG) int fileselectionmode (FILES_ONLY (alapért.), DIRECTORIES_ONLY, FILES_AND_DIRECTORIES) boolean multiselectionenabled FileFilter filefilter File currentdirectory File selectedfile File[] selectedfiles Programozási technológia (Java) - III. / 21
22 Állománykiválasztó dialógus JFileChooser (folyt.) Konstruktorok JFileChooser() JFileChooser(File currentdirectory) JFileChooser(String currentdirectorypath) Metódusok int showopendialog(component parent) int showsavedialog(component parent) Lehetséges visszatérési értékek: APPROVE_OPTION, CANCEL_OPTION, ERROR_OPTION String getname(file f) Programozási technológia (Java) - III. / 22
23 Feladat FileChooserTest Készítsünk alkalmazást Java forrásállományok keresgélésére! Tegyünk a keretre két szövegmezőt és két nyomógombot: a szövegmezőkben az éppen kiválasztott könyvtár és Java állomány neve legyen, és egyiket se lehessen szerkeszteni! a Választ gomb lenyomására jelenjen meg az állománykiválasztó dialógus! A szövegmezők értéke ezután a kiválasztott könyvtár és állománynév legyen! A keret címe legyen a kiválasztott állomány teljes útvonala! A dialógus kezdeti könyvtára az aktuális könyvtár legyen, ezután pedig mindig az előző állapot jelenjen meg! a Kilép gombra csukjuk be a keretet! Programozási technológia (Java) - III. / 23
24 :FileChooserTest (ActionListener) btvalaszt (ActionEvent) import javax.swing.*; import javax.swing.filechooser.filefilter; import java.awt.*; import java.awt.event.*; import java.io.*; btkilep (ActionEvent) :JDialog Programozási technológia (Java) - III. / 24
25 class JavaFilter extends FileFilter { public boolean accept(file f) { return f.getname().touppercase().endswith(".java") f.isdirectory(); public String getdescription() { return "Java fájlok"; Programozási technológia (Java) - III. / 25
26 public class FileChooserTest extends JFrame implements ActionListener { private Container cp = getcontentpane(); private JTextField tfdir, tffile; private JButton btvalaszt, btkilep; private JFileChooser fc = new JFileChooser(); public FileChooserTest() { setlocation(200,100); setdefaultcloseoperation(exit_on_close); fc.setcurrentdirectory(new File(".")); fc.setfilefilter(new JavaFilter()); Programozási technológia (Java) - III. / 26
27 JPanel pninfo = new JPanel(); pninfo.add(new JLabel("Könyvtár: ")); pninfo.add(tfdir = new JTextField(40)); pninfo.add(new JLabel("Fájlnév: ")); pninfo.add(tffile = new JTextField(15)); tfdir.setenabled(false); tffile.setenabled(false); cp.add(pninfo); JPanel pngombok = new JPanel(); pngombok.add(btvalaszt = new JButton("Választ")); pngombok.add(btkilep= new JButton("Kilép")); cp.add(pngombok, BorderLayout.SOUTH); Programozási technológia (Java) - III. / 27
28 btvalaszt.addactionlistener(this); btkilep.addactionlistener(this); pack(); show(); void update() { File sf = fc.getselectedfile(); if (sf!= null) { tfdir.settext(fc.getcurrentdirectory().getabsolutepath()); tffile.settext(sf.getname()); settitle(sf.getabsolutepath()); Programozási technológia (Java) - III. / 28
29 public void actionperformed(actionevent e) { if (e.getsource()==btvalaszt) { if (fc.showopendialog(this)== JFileChooser.APPROVE_OPTION) { update(); else if (e.getsource()==btkilep) System.exit(0); public static void main(string[] args) { new FileChooserTest(); // FileChooserTest Programozási technológia (Java) - III. / 29
30 14. Folyamok 1. A folyam fogalma 2. Bájtfolyam 3. Karakterfolyam, szöveges állomány 4. Adatfolyam 5. Pufferező folyam 6. Objektumfolyam Programozási technológia (Java) - III. / 30
31 java.lang.object +--File +--FilenameFilter +--InputStream +--ByteArrayInputStream +--FileInputStream +--FilterInputStream +--DataInputStream DataInput +--BufferedInputStream ObjectInputStream ObjectInput OutputStream +--ByteArrayOutputStream +--FileOutputStream +--FilterOutputStream +--DataOutputStream DataOutput +--BufferedOutputStream +--PrintStream ObjectOutputStream ObjectOutput... Programozási technológia (Java) - III. / 31 java.lang.object +--Reader +--InputStreamReader +--FileReader +--BufferedReader +--Writer +--OutputStreamWriter +--FileWriter +--PrintWriter +--BufferedWriter DataInput DataOutput +--RandomAccessFile java.io csomag
32 Programozási technológia (Java) - III. / 32 A folyam fogalma Folyam (stream): objektum, amely egy célhelyre adatokat képes sorosan írni, ill. egy forráshelyről sorosan olvasni Folyamok osztályzása (feldolgozott elemek típusa szerint) Bájtfolyam (byte stream) Karakterfolyam (character stream) Adatfolyam (data stream) Objektumfolyam (object stream) Folyamok osztályzása (adatfeldolgozás iránya szerint) Beviteli folyam (input stream) Kiviteli folyam (output stream)
33 Fogalmak Folyam mutatója Forráshely, célhely Fizikai hely (pl. fájl, konzol, billentyűzet, nyomtató) vagy másik folyam Megadása: létrehozáskor (konstr. paramétereként) Szűrőfolyam (filter stream) Folyamok összekapcsolásánál használjuk Továbbító, szűrő szerepet játszik Szűrők ősosztályai: FilterInputStream, FilterOutputStream Szűrőfajták Pufferelés: Buffered... Konverzió: Data... Programozási technológia (Java) - III. / 33
34 Példa Kiviteli folyamlánc dos:dataoutputstream FileOutputStream Program, memória 12.4 dos.writedouble(12.4) true Tároló adatok.dat 'é' c=dis.readchar() Programozási technológia (Java) - III. / 34 dis:datainputstream FileInputStream Beviteli folyamlánc
35 Példa (folyt.) DataOutputStream dos = new DataOutputStream( new FileOutputStream("adatok.dat")); dos.writedouble(12.4); dos.writeboolean(true); dos.writechar('é'); dos.close(); DataInputStream dis = new DataInputStream( new FileInputStream("adatok.dat")); double d = dis.readdouble(); // 12.4 boolean b = dis.readboolean(); // true char c = dis.readchar(); // 'é' dis.close(); Programozási technológia (Java) - III. / 35
36 Bájtfolyam (byte stream) Írás/olvasás egysége: bájt (0..255) Minden adatsorozat feldolgozható bájtfolyamként Absztrakt ősei: InputStream, OutputStream Állományból olvasó bájtfolyam: FileInputStream Állományba író bájtfolyam: FileOutputStream Programozási technológia (Java) - III. / 36
37 java.lang.object +--InputStream +--ByteArrayInputStream Bájtfolyamok +--FileInputStream +--FilterInputStream +--DataInputStream DataInput +--BufferedInputStream ObjectInputStream ObjectInput OutputStream +--ByteArrayOutputStream +--FileOutputStream +--FilterOutputStream +--DataOutputStream DataOutput +--BufferedOutputStream +--PrintStream ObjectOutputStream ObjectOutput... Programozási technológia (Java) - III. / 37
38 InputStream Összes beviteli bájtfolyam absztrakt őse Metódusok abstract int read() throws IOException int read(byte[] b) throws IOException int read(byte[] b, int off, int len) throws IOException int available() throws IOException long skip(long n) throws IOException void close() throws IOException Programozási technológia (Java) - III. / 38
39 OutputStream Összes kiviteli bájtfolyam absztrakt őse Metódusok abstract void write(int b) throws IOException void write(byte[] b) throws IOException void write(byte[] b, int off, int len) throws IOException void flush() throws IOException void close() throws IOException Programozási technológia (Java) - III. / 39
40 FileInputStream - állományból olvasó bájtfolyam FileInputStream +FileInputStream(name: String) {FileNotFoundException +FileInputStream(file: File) {FileNotFoundException +read():int {IOException +read(b: byte[]): int {IOException +read(b: byte[], off: int, len: int): int {IOException +available(): int {IOException +skip(n: long): long {IOException +close() {IOException... Programozási technológia (Java) - III. / 40
41 FileOutputStream - állományba író bájtfolyam FileOutputStream +FileOutputStream(name: String) {FileNotFoundException +FileOutputStream(file: File) {FileNotFoundException +FileOutputStream(name: String, append: boolean) {FileNotFoundException +write(b: int):int {IOException +write(b: byte[]):int {IOException +write(b: byte[], off: int, len: int):int {IOException +flush() {IOException +close() {IOException... Programozási technológia (Java) - III. / 41
42 Feladat CopyFile Másoljunk át egy megadott állományt ugyanabba a könyvtárba, egy másik állományba; az újabb állomány neve csak annyiban térjen el az eredetiétől, hogy a kiterjesztése előtt legyen egy ~ karakter! import java.io.*; 1. megoldás bevitel és kivitel bájtonként public class CopyFile1 { public static void main (String args[]) { String fsource = "c:/javaprog/work/proba/app.java"; String fdest; int index = fsource.lastindexof('.'); fdest = fsource.substring(0,index) + Programozási technológia (Java) - III. / 42 ".~"+fsource.substring(index+1);
43 try { FileInputStream in = new FileInputStream(fSource); FileOutputStream out = new FileOutputStream(fDest); int b; while ((b = in.read())!= -1) { out.write(b); in.close(); out.close(); catch (IOException e) { System.out.println(e.getMessage()); // main // CopyFile1 Programozási technológia (Java) - III. / 43
44 2. megoldás bevitel és kivitel egy adagban byte[ ] bajttomb = new byte[in.available()]; in.read(bajttomb); out.write(bajttomb); 3. megoldás biztonságos lezárás FileInputStream in = null; FileOutputStream out = null; try { in = new FileInputStream(fSource); out = new FileOutputStream(fDest); byte[ ] bajttomb = new byte[in.available()]; in.read(bajttomb); out.write(bajttomb); Programozási technológia (Java) - III. / 44
45 catch (IOException e) { System.out.println(e.getMessage()); finally { try { if (in!= null) in.close(); if (out!= null) out.close(); catch (IOException e) { System.out.println(e.getMessage()); Programozási technológia (Java) - III. / 45
46 Karakterfolyam (character stream) Írás/olvasás egysége: unikód karakter (2 bájt) Szöveges állományok feldolgozására szokás használni Absztrakt ősei: Reader, Writer Pl.: FileReader, FileWriter java.lang.object +--Reader +--InputStreamReader +--FileReader +--BufferedReader +--Writer +--OutputStreamWriter +--FileWriter +--PrintWriter +--BufferedWriter Programozási technológia (Java) - III. / 46 Karakterfolyamok
47 Programozási technológia (Java) - III. / 47 Reader Összes beviteli karakterfolyam absztrakt őse Metódusok int read() throws IOException int read(char[] cbuf) throws IOException abstract int read(char[] cbuf,int off, int len) throws IOException boolean ready() throws IOException long skip(long n) throws IOException abstract void close() throws IOException
48 Programozási technológia (Java) - III. / 48 Writer Összes kiviteli karakterfolyam absztrakt őse Metódusok void write(int c) throws IOException void write(char[] cbuf) throws IOException abstract void write(char[] cbuf, int off, int len) throws IOException void write(string str) throws IOException void write(string str, int off, int len) throws IOException abstract void flush() throws IOException abstract void close() throws IOException
49 Szöveges állomány Csak olvasható karaktereket tartalmazó állomány Sorokból áll, a sorok pedig karakterekből Soros szervezésű Logikai szerkezet Állománymutató sor vége jel állomány vége jel E L S Ő <EOLN> 2 <EOLN> U T O L S Ó <EOLN> <EOF> Fizikai szerkezet (Windowsban) E L S Ő #13#10 2 #13#10 U T O L S Ó #13#10 #26 Programozási technológia (Java) - III. / 49
50 Szöveges állomány (folyt.) Állományból olvasó karakterfolyam: FileReader Állományba író karakterfolyam: FileWriter Karakterkódolás A szöveges állomány tárolásának módja az operációs rendszer karakterkódolási szabványától függ Lemezen tárolt karakter és a Java karakterei között kódolás/dekódolás: InputStreamReader, OutputStreamWriter Programozási technológia (Java) - III. / 50
51 FileReader - állományból olvasó karakterfolyam FileReader +FileReader(fileName: String) {FileNotFoundException +FileReader(file: File) {FileNotFoundException +read():int {IOException +read(cbuf: char[]):int {IOException +read(cbuf: char[], off: int, len: int):int {IOException +ready():boolean {IOException +skip(n: long):long {IOException +close() {IOException... Programozási technológia (Java) - III. / 51
52 FileWriter - állományba író karakterfolyam Programozási technológia (Java) - III. / 52 FileWriter +FileWriter(fileName: String) {FileNotFoundException +FileWriter(file: File) {FileNotFoundException +FileWriter(fileName: String, append:boolean) {FileNotFoundException +write(c: int) {IOException +write(cbuf: char[]) {IOException +write(cbuf: char[], off: int, len: int) {IOException +write(str: String) {IOException +write(str: String, off: int, len: int) {IOException +flush() {IOException +close() {IOException...
53 Feladat AppendAndList Készítsen egy programot, amellyel egy szöveges állományt lehet bővíteni (első alkalommal létrehozni), majd a konzolra kilistázni! Bővítéskor konzolról viszünk fel sorokat - végjel az üres szöveg. A szöveges állomány legyen a work/szoveg.txt! import java.io.*; import extra.console; public class AppendAndList { private String path; public AppendAndList(String path) { this.path = path; appendtext(); listtext(); Programozási technológia (Java) - III. / 53
54 void appendtext() { try { FileWriter fw = new FileWriter(path,true); String line; while (!(line = Console.readLine()).equals("")) { fw.write(line+"\r\n"); fw.close(); catch (IOException ex) { System.out.println(ex); Programozási technológia (Java) - III. / 54
55 void listtext() { try { FileReader fr = new FileReader(path); System.out.println("Lista:"); while (fr.ready()) System.out.print((char)fr.read()); fr.close(); catch (IOException ex) { System.out.println(ex); public static void main (String args[]) { new AppendAndList("work/Szoveg.txt"); // main // AppendAndList Programozási technológia (Java) - III. / 55
56 Programozási technológia (Java) - III. / 56 PrintWriter print és println metódusokat definiál az adatok olvasható formában kerülnek ki a karakterfolyamra PrintStream PrintWriter-hez hasonló, de elavult System.out és System.err szabványos eszközök osztálya Példa (szöveges állomány írása formázva): PrintWriter writer = new PrintWriter(new FileWriter("print.txt")); writer.println("double: "+12.78); writer.print('a'); writer.println(new Integer(66)); writer.close();
57 Programozási technológia (Java) - III. / 57 Adatfolyam (data stream) Írás/olvasás egysége: primitív adat vagy String Szűrő bájtfolyam: primitív adat / String bájt konverzió Pl.: DataInputStream, DataOutputStream DataInput, DataOutput interfészek primitív adat és String írása / olvasása primitív adat / String bájt konverzió FilterInputStream, FilterOutputStream Szűrőfolyamok ősosztályai
58 java.lang.object +--InputStream +--ByteArrayInputStream Bájtfolyamok +--FileInputStream +--FilterInputStream +--DataInputStream DataInput +--BufferedInputStream ObjectInputStream ObjectInput OutputStream +--ByteArrayOutputStream +--FileOutputStream +--FilterOutputStream +--DataOutputStream DataOutput +--BufferedOutputStream +--PrintStream ObjectOutputStream ObjectOutput... Programozási technológia (Java) - III. / 58
59 DataInput interfész (bájt primitív adat / String) boolean readboolean() throws IOException byte readbyte() throws IOException String readline() throws IOException String readutf() throws IOException DataOutput interfész (primitív adat / String bájt) void write(int b) throws IOException void write(byte[] b) throws IOException void write(byte[] b, int off, int len) throws IOException void writeboolean(boolean v) throws IOException void writebyte(int v) throws IOException void writebytes(string s) throws IOException void writechars(string s) throws IOException void writeutf(string s) throws IOException Programozási technológia (Java) - III. / 59
60 DataInputStream Beviteli szűrő adatfolyam Csak egy másik bájtfolyamból tud olvasni bájt primitív adat / String konverzió Konstruktor: DataInputStream(InputStream in) DataOutputStream Kiviteli szűrő adatfolyam Csak egy másik bájtfolyamba tud írni primitív adat / String bájt konverzió Konstruktor: DataOutputStream(OutputStream out) Programozási technológia (Java) - III. / 60
61 Feladat Egész számok írása, olvasása (SzamIrOlvas) Kérjünk be a felhasználótól int típusú értékeket, és írjuk fel őket egy állományba! Ezután listázzuk ki az egészeket a konzolra és vele párhuzamosan egy szöveges állományba is! import java.io.*; import extra.console; public class SzamIrOlvas { static void felvisz(string filename) { try { int szam = 0; System.out.println("Egesz szamok felvitele. Vegjel: -1"); DataOutputStream szamok=new DataOutputStream( Programozási technológia (Java) - III. / 61 new FileOutputStream(fileName+".dat"));
62 while ((szam=console.readint())!= -1) szamok.writeint(szam); szamok.close(); catch (IOException e) { System.out.println(e.getMessage()); static void listaz(string filename) { DataInputStream szamok = null; PrintWriter lista = null; int szam = 0; Programozási technológia (Java) - III. / 62
63 try { szamok = new DataInputStream( new FileInputStream(fileName+".dat")); lista = new PrintWriter( new FileOutputStream(fileName+".txt")); while (true) { szam = szamok.readint(); System.out.print(szam+" "); lista.print(szam+" "); catch (EOFException e) { catch (IOException e) { System.out.println(e.getMessage()); Programozási technológia (Java) - III. / 63
64 finally { try { szamok.close(); lista.close(); catch(ioexception e) { // listaz public static void main (String[] args) { String fnev="work/egeszek"; felvisz(fnev); listaz(fnev); // SzamIrOlvas Programozási technológia (Java) - III. / 64
65 Programozási technológia (Java) - III. / 65 Pufferező folyam Memória és egy külső erőforrás (pl. fájl) között az író/olvasó műveletek számát csökkenti BufferedInputStream, BufferedOutputStream Bájtfolyamot pufferező beviteli/kiviteli szűrőfolyam Konstruktorok BufferedInputStream(InputStream in) BufferedInputStream(InputStream in, int size) BufferedOutputStream(OutputStream out) BufferedOutputStream(OutputStream out, int size) BufferedReader, BufferedWriter Karakterfolyamot pufferező beviteli/kiviteli folyam Konstruktorok BufferedReader(Reader in) BufferedReader(Reader in, int size) BufferedWriter(Writer out) BufferedWriter(Writer out, int size)
66 java.lang.object +--File +--FilenameFilter +--InputStream +--ByteArrayInputStream +--FileInputStream +--FilterInputStream +--DataInputStream DataInput +--BufferedInputStream ObjectInputStream ObjectInput OutputStream +--ByteArrayOutputStream +--FileOutputStream +--FilterOutputStream +--DataOutputStream DataOutput +--BufferedOutputStream +--PrintStream ObjectOutputStream ObjectOutput... Programozási technológia (Java) - III. / 66 java.lang.object +--Reader +--InputStreamReader +--FileReader +--BufferedReader +--Writer +--OutputStreamWriter +--FileWriter +--PrintWriter +--BufferedWriter DataInput DataOutput +--RandomAccessFile java.io csomag
67 Példa Program (memória) 12 'a' 5.2F t os3: DataOutputStream writeint(int) is3: DataInputStream readint() os2: BufferedOutputStream write(byte) is2: BufferedInputStream read(byte) os1: FileOutputStream write(block) is1: FileInputStream read(block) Fájl: adatok.dat Programozási technológia (Java) - III. / 67
68 Példa (folyt.) Adatok kírása FileOutputStream os1 = new FileOutputStream("adatok.dat"); BufferedOutputStream os2 = new BufferedOutputStream(os1); DataOutputStream os3 = new DataOutputStream(os2); /* Szebben: DataOutputStream os3 = new DataOutputStream(new BufferedOutputStream(new FileOutputStream("adatok.dat"))); */ os3.writeint(12); os3.writechar('a'); os3.writefloat(5.2f); os3.writeboolean(true); os3.close(); Programozási technológia (Java) - III. / 68
69 Példa (folyt.) Adatok visszaolvasása FileInputStream is1 = new FileInputStream(fájl); BufferedInputStream is2 = new BufferedInputStream(is1); DataInputStream is3 = new DataInputStream(is2); /* Szebben: DataInputStream is3 = new DataInputStream(new BufferedInputStream(new FileInputStream("adatok.dat"))); */ int i = is3.readint(); char c = is3.readchar(); float f = is3.readfloat(); boolean b = is3.readboolean(); is3.close(); Programozási technológia (Java) - III. / 69
70 Objektumfolyam (object stream) Írás/olvasás egysége: primitív adat vagy szerializálható objektum Szerializáció Objektum bájtfolyam Előnye: objektumok perzisztensen eltárolhatók Írás objektum bájtfolyam ObjectOutputStream Olvasás bájtfolyam objektum ObjectInputStream Programozási technológia (Java) - III. / 70
71 java.lang.object +--InputStream +--ByteArrayInputStream Bájtfolyamok +--FileInputStream +--FilterInputStream +--DataInputStream DataInput +--BufferedInputStream ObjectInputStream ObjectInput OutputStream +--ByteArrayOutputStream +--FileOutputStream +--FilterOutputStream +--DataOutputStream DataOutput +--BufferedOutputStream +--PrintStream ObjectOutputStream ObjectOutput... Programozási technológia (Java) - III. / 71
72 ObjectOutputStream OutputStream DataOutput ObjectOutput +writeobject(o:object) {IOException ObjectOutputStream +ObjectOutputStream(out:OutputStream) {IOEx. +writeobject(obj:object) {IOEx., pl.:notserializableexception +writeboolean(b:boolean) {IOException +writebyte(b:byte) {IOException +writechar(c:char) {IOException +writeint(i: int) {IOException... +close() {IOException... Programozási technológia (Java) - III. / 72
73 ObjectInputStream InputStream DataInput ObjectInput +readobject():object {IOException, ClassNotFoundException ObjectInputStream +ObjectInputStream(in:InputStream) {IOEx. +readobject():object {IOEx., ClassNotFoundException +readboolean():boolean {IOEx. +readbyte():byte {IOEx. +readchar():char {IOEx. +readint():int {IOEx.... +close() {IOEx.... Programozási technológia (Java) - III. / 73
74 Egy objektum szerializálásának szabályai Az objektum osztályának implementálnia kell a Serializable jelölő interfészt Szerializálás deklarálás sorrendjében minden objektum csak egyszer kerül tárolásra java.io.notserializableexception keletkezhet Szerializáláskor a bájtfolyamra kerülő adatok: osztály azonosításához: osztály neve, azonosítója, objektum adatai(kivéve static és transient adatok) Visszatöltéskor az objektum állapota ugyanaz lesz, mint kimentéskor volt Visszaolvasás ugyanolyan sorrendben, mint kiíráskor java.lang.classnotfoundexception keletkezhet Alapértelmezett szerializáló mechanizmus Programozási technológia (Java) - III. / 74
75 Feladat Objektumok elmentése és visszaolvasása (ObjectStreamDemo) Írjunk ki egy "work/objektumok.dat" állományba két String-objektumot, egy primitív egész számot, és egy saját, MyClass osztályú objektumot. Olvassuk vissza az állomány tartalmát! Programozási technológia (Java) - III. / 75
76 Serializable... String tostring():string... n: int MyClass tostring():string s1:string s2:string i:int obj:myclass Rolád Roland Telivér Olivér objektumok.dat Programozási technológia (Java) - III. / 76
77 import java.io.*; class MyClass implements Serializable { int n=67; public String tostring() { return Integer.toString(n); Programozási technológia (Java) - III. / 77
78 public class ObjStreamDemo { static void letrehoz() { try { ObjectOutputStream out = new ObjectOutputStream( new FileOutputStream("work/objektumok.dat")); out.writeobject(new String("Rolád Roland")); out.writeobject(new String("Telivér Olivér")); out.writeint(54321); out.writeobject(new MyClass()); out.close(); catch (FileNotFoundException ex) { System.out.println("Az állományt nem lehet létrehozni!"); Programozási technológia (Java) - III. / 78
79 catch (IOException ex) { System.out.println("I/O hiba! "+ex); static void listaz() { try { ObjectInputStream in = new ObjectInputStream( new FileInputStream("work/objektumok.dat")); String s1 = (String) in.readobject(); String s2 = (String) in.readobject(); int i = in.readint(); MyClass obj = (MyClass) in.readobject(); in.close(); System.out.println(s1+" "+s2+" "+i+" "+obj); Programozási technológia (Java) - III. / 79
80 catch (FileNotFoundException ex) { System.out.println("Nincs ilyen állomány!"); catch (ClassNotFoundException ex) { System.out.println("Rossz osztály!"); catch (IOException ex) { System.out.println("I/O hiba! "+ex); public static void main(string[] args) { letrehoz(); listaz(); Programozási technológia (Java) - III. / 80
81 15. Közvetlen hozzáférésű állomány 1. Állományszervezési és -hozzáférési módok 2. A RandomAccessFile osztály Programozási technológia (Java) - III. / 81
82 Állományhozzáférési (elérési) módok Soros hozzáférés Szekvenciális hozzáférés Közvetlen hozzáférés Állományszervezési módok Soros szervezés (Pl.: folyamok) Közvetlen szervezés (Pl.: RandomAccessFile) Véletlen (hasító) szervezés Indexelt szekvenciális szervezés Programozási technológia (Java) - III. / 82
83 RandomAccessFile osztály Közvetlen hozzáférésű állomány Írható és olvasható egyszerre Írás/olvasás egysége: bájt, primitív adat vagy String (tetszőleges objektum nem lehet!) Állománymutató (állománypozíció, file pointer) Értéke: állomány elejétől számított bájtsorszám Lekérdezhető, beállítható Olvasó, író utasítások állítják Programozási technológia (Java) - III. / 83
84 java.lang.object +--File +--FilenameFilter +--InputStream +--ByteArrayInputStream +--FileInputStream +--FilterInputStream +--DataInputStream DataInput +--BufferedInputStream ObjectInputStream ObjectInput OutputStream +--ByteArrayOutputStream +--FileOutputStream +--FilterOutputStream +--DataOutputStream DataOutput +--BufferedOutputStream +--PrintStream ObjectOutputStream ObjectOutput... Programozási technológia (Java) - III. / 84 java.lang.object +--Reader +--InputStreamReader +--FileReader +--BufferedReader +--Writer +--OutputStreamWriter +--FileWriter +--PrintWriter +--BufferedWriter DataInput DataOutput +--RandomAccessFile java.io csomag
85 Példa adatok.dat Fájlmutató E l e j e X V é readchar() ch X RandomAccessFile raf = new RandomAccessFile("adatok.dat","rw"); raf.writechars("elejex1908vege"); long hossz = raf.length(); // hossz==28 raf.seek(10); char ch = raf.readchar(); // ch=='x' raf.writechar(ch); long poz = raf.getfilepointer(); // poz==14 Programozási technológia (Java) - III. / 85 X writechar(ch) g e
86 Konstruktorok RandomAccessFile(String name, String mode) throws FileNotFoundException RandomAccessFile(File file, String mode) throws FileNotFoundException mode: "r" vagy "rw" Metódusok long getfilepointer() throws IOException void seek(long pos) throws IOException int skipbytes(int n) throws IOException long length() throws IOException void setlength(long newlength) throws IOException Programozási technológia (Java) - III. / 86
87 Metódusok int read() throws IOException, EOFException boolean readboolean() throws IOException String readline() throws IOException String readutf() throws IOException void write(int b) throws IOException void writeboolean(boolean v) throws IOException void writebytes(string s) throws IOException void writechars(string s) throws IOException void writeutf(string s) throws IOException void close() throws IOException Programozási technológia (Java) - III. / 87
88 Feladat Hőmérsékletek A hónap minden napján délben egytized fok pontossággal megmérjük a levegő hőmérsékletét. Vigyük fel az adatokat egy HaviHomers.dat állományba! Ezután listázzuk ki az állományt, és írjuk ki a havi átlaghőmérsékletet! Kérdezhesse meg a felhasználó, hogy melyik napon mekkora volt a hőmérséklet! Ha rossz napot üt be, akkor írjuk ki, hogy "Nem jó nap!"; ha nullát üt be, akkor fejezzük be a programot! A hőmérsékletadatok a program befejezése után se vesszenek el! Programozási technológia (Java) - III. / 88
89 public class Homersekletek { static void felvisz() { try { DataOutputStream havihom = new DataOutputStream( new FileOutputStream("work/HaviHomers.dat")); for (int i=0; i<31; i++) { double hom = (int)(math.random()*100)/ ; havihom.writedouble(hom); havihom.close(); catch (IOException ex) { System.out.println(ex); // felvisz Programozási technológia (Java) - III. / 89
90 static void kerdez() { try { RandomAccessFile havihom = new RandomAccessFile("work/HaviHomers.dat","r"); System.out.println("Hőmérsékletek a hónapban"); int i=0; double osszeg = 0; try { while (true) { double hom = havihom.readdouble(); i++; osszeg += hom; if (i%8==0) System.out.println(); System.out.print(i+": "+hom+"\t"); // while Programozási technológia (Java) - III. / 90
91 catch (EOFException ex) { System.out.println("\nÁtlaghőmérséklet 2 tizedesre: "+ ((int)(osszeg/31*100)/100.0)); System.out.println("\n\nKérdezzen 0 végjelig!"); long poz; while ((poz = Console.readInt("\nNap: "))!= 0) { try { havihom.seek(8*(poz-1)); System.out.println(havihom.readDouble()); catch (IOException e) { System.out.println("Nem jó nap!"); // while Programozási technológia (Java) - III. / 91
92 havihom.close(); // külső try catch (IOException ex) { System.out.println(ex); // kerdez public static void main(string[] args) { felvisz(); kerdez(); // Homersekletek Programozási technológia (Java) - III. / 92
JAVA PROGRAMOZÁS 7.ELŐADÁS
Dr. Pál László, Sapientia EMTE, Csíkszereda JAVA PROGRAMOZÁS 7.ELŐADÁS 2014-2015 tavasz Állománykezelés 2 Állományok, bejegyzések 3 A java.io csomag Útvonalak 4 Absztrakt / valódi útvonal A valódi útvonal
RészletesebbenJava programozási nyelv 10. rész Input/output kezelés
Java programozási nyelv 10. rész Input/output kezelés Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/28 Tartalomjegyzék
RészletesebbenJAVA ALKALMAZÁSOK 5. ELŐADÁS 1/9/2017 1
JAVA ALKALMAZÁSOK 5. ELŐADÁS 1/9/2017 1 TARTALOM Input/Output oadatfolyamok ofájlkezelés okonzol 1/9/2017 2 Input/Output, adatfolyamok 1/9/2017 3 INPUT/OUTPUT Szinte minden alkalmazás használ valamilyen
RészletesebbenJAVA PROGRAMOZÁS 8.ELŐADÁS
Dr. Pál László, Sapientia EMTE, Csíkszereda JAVA PROGRAMOZÁS 8.ELŐADÁS 2014-2015 tavasz Véletlen elérésű állományok; JDBC 2 Véletlen elérésű állományok A RandomAccessFile osztály 3 Közvetlen hozzáférésű
RészletesebbenJava 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észletesebbenProgramozá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észletesebbenKivé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észletesebbenSe 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észletesebbenJava 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észletesebbenTCP/IP kapcsolat Java nyelven
Java programozási nyelv 2007-2008/ősz 5. óra TCP/IP kapcsolat Java nyelven Java streamek, szűrők, java.io TCP/IP alapú kommunikáció Egyszerű protokoll tervezése legradi.gabor@nik.bmf.hu szenasi.sandor@nik.bmf.hu
RészletesebbenReader /Writer InputStreamReader, OutputStreamWriter
9. gyakorlat Input, output A Java adatfolyamokkal dolgozik (stream). [Ez olyan objektum, ahova tesszük vagy kapjuk az adatot úgy, hogy nem kell foglalkozunk a file-al, hálózattal,stb.] 2 típusa van: InputStream
RészletesebbenObjektum 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észletesebbenJava Programozás 9. Ea: Java fájlkezelés. Sztrímtan
Java Programozás 9. Ea: Java fájlkezelés Sztrímtan 148/1 B ITv: MAN 2018.02.05 Java fájlkezelés A Java nyelvben a fájlkezelés Stream-eken keresztül valósul meg Stream: adatok sorozata, egyik végén befelé
RészletesebbenProgramozá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észletesebbenBe- és kimenet kezelése
Be- és kimenet kezelése A legelső program Üdvözlő szöveg kiírása a képernyőre class Hello { public static void main( String args[] ){ System.out.println("Hello World!"); } } Hogyan használjunk fájlokat?
RészletesebbenOsztá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észletesebbenJava Programozás 3. Gy: Java GUI. Swing, AWT
Java Programozás 3. Gy: Java GUI Swing, AWT 35/1 B ITv: MAN 2018.02.25 Feladat Készítsük el az Emp osztály kezelő programját úgy, hogy ArrayList-et (listatömb, tömblista, rugalmas tömb) használunk. A java.util.arraylist
RészletesebbenProgramozá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észletesebbenAbstract 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észletesebbenProgramozá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észletesebbenAz ú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észletesebbenSegédanyag: Java alkalmazások gyakorlat
Segédanyag: Java alkalmazások gyakorlat Készítette: Szabó Attila 2009/2010-2 félév, 2. gyakorlat 1 Osztályok és objektumok default, public, protected, private láthatóság a metódusokra és adattagokra (első
RészletesebbenJava 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észletesebbenOOP: 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észletesebbenSegé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észletesebbenGrafikus felhasználói felületek. Dr. Szendrei Rudolf Informatikai Kar Eötvös Loránd Tudományegyetem. Programozási technológia I. Dr.
Programozási Grafikus Informatikai Kar Eötvös Loránd Tudományegyetem 1 Tartalom 1 2 Grafikus felhasználói felület Két csomag elemeiből lehet a felületet elkészíteni awt: heavy weight" komponensek swing:
RészletesebbenJava 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észletesebbenKivé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észletesebbenabkezel.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észletesebbenA Java nyelv. Dialógus ablakok. Elek Tibor
A Java nyelv Dialógus ablakok Elek Tibor Dialógus ablakok Szerepe: felbukkanó ablak (üzenet, input) Felépítése, használata majdnem ua., mint JFrame Tulajdonos: lehet tulajdonosa, amellyel együtt ikonizálódik,
RészletesebbenKét csomag elemeiből lehet a felületet elkészíteni: awt: heavy weight komponensek; swing: light weight komponensek (időben később).
Grafikus felhasználói felület Két csomag elemeiből lehet a felületet elkészíteni: awt: heavy weight komponensek; swing: light weight komponensek (időben később). Mi hogyan használjuk? awt: eseménykezelés,
RészletesebbenJava 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észletesebbenObjektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015
Objektumorientált programozás Pál László Sapientia EMTE, Csíkszereda, 2014/2015 Objektumorientált programozás - Pál László 12. ELŐADÁS Állomány-kezelés 2 Objektumorientált programozás - Pál László Mi a
RészletesebbenProgramozá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észletesebbenDebreceni Egyetem Informatika Kar. Mobiltelefon programozás és mobil adatbázis-kezelés
Debreceni Egyetem Informatika Kar Mobiltelefon programozás és mobil adatbázis-kezelés Témavezető: Dr. Fazekas Gábor egyetemi docens Készítette: Toldi Gábor informatika tanár Debrecen 2008 Tartalomjegyzék
RészletesebbenJava 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észletesebbenAz 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észletesebbenHelyes-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észletesebbenDr. Iszály György Barna
Dr. Iszály György Barna Ember központú tervezés Cél:... Az emberek a kívánt műveleteket, szolgáltatásokat, és támogató feladatokat minimális stressz mellett maximális hatékonysággal végezhetik el". Három
RészletesebbenAdatbázis alapú rendszerek gyakorlat Adatbázis alapú alkalmazásfejlesztés Java, C# környezetben
Adatbázis alapú rendszerek gyakorlat Adatbázis alapú alkalmazásfejlesztés Java, C# környezetben Java GUI készítése, Oracle kapcsolódás JDBC-vel A jelen anyagban egy egyszerűsített megközelítéssel vizsgáljuk
Részletesebben7. 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észletesebbenProgramozá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észletesebbenPé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észletesebbenJava programozási nyelv 4. rész Osztályok II.
Java programozási nyelv 4. rész Osztályok II. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/17 Tartalomjegyzék
RészletesebbenInput Output Műveletek
Input Output Műveletek Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) Input Output Műveletek 2013 1 / 30 Tartalom jegyzék 1 I/O Osztályok File rendszer megvalósítás File rendszer módosítás,
RészletesebbenBánsághi Anna 2014 Bánsághi Anna 1 of 35
IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 4. ELŐADÁS - ADATFOLYAMOK KEZELÉSE 2014 Bánsághi Anna 1 of 35 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív
RészletesebbenInformatika 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észletesebbenProgramozá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észletesebbenVé 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észletesebbenOOP: 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észletesebbenSzerializá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észletesebbenSzoftvertechnoló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 1 Kivételkezelés I. szokatlan, váratlan
RészletesebbenJava 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észletesebbenPé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észletesebbenProgramozási nyelvek JAVA EA+GY 1. gyakolat
Programozási nyelvek JAVA EA+GY 1. gyakolat EÖTVÖS LORÁND TUDOMÁNYEGYTEM INFORMATIKAI KAR PROGRAMOZÁSI NYELVEK ÉS FORDÍTÓPROGRAMOK TANSZÉK 2018/2019. tavaszi félév Tartalom 1 A Java alapjai 2 Java program
RészletesebbenJava 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é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észletesebbenZH mintapélda. Feladat. Felület
ZH mintapélda Feladat Írjon Java alkalmazást, amely képes hallgatók rekordjaittárolni és azokat különbözo rendezo kulcsok szerint sorba rendezni. A program grafikus felhasználói felületén keresztül új
RészletesebbenAz emelt szintű. informatika érettségi. programozási feladatainak. megoldása Java nyelven. NetBeans IDE 8.1 környezetben
Az emelt szintű informatika érettségi programozási feladatainak megoldása Java nyelven NetBeans IDE 8.1 környezetben Klement András 2016 Utolsó módosítás: 2016. május 25. Tartalomjegyzék Tartalomjegyzék
RészletesebbenSzoftvertechnoló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észletesebbenJava 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észletesebbenJava. 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észletesebbenANDROID 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észletesebbenProgramozási nyelvek II. JAVA EA+GY 1. gyakolat
Programozási nyelvek II. JAVA EA+GY 1. gyakolat EÖTVÖS LORÁND TUDOMÁNYEGYTEM INFORMATIKAI KAR PROGRAMOZÁSI NYELVEK ÉS FORDÍTÓPROGRAMOK TANSZÉK 2017/2018. őszi félév Tartalom 1 Amit tudni kell a félévről
RészletesebbenDinamikus adatszerkezetek. 2D generikus tömb: C++ 2D generikus tömb: C++
Dinamikus adatszerkezetek 2D generikus tömb: C++ template class CArray2D protected: TYPE **m_array; long m_row, m_col; public: CArray2D(long row, long col) // konstruktor m_array = new TYPE*[row];
RészletesebbenDinamikus adatszerkezetek. 2D generikus tömb: C++ 2D generikus tömb: C++ 2D tömb: Java versus C++ 2D tömb: Java.
2D generikus tömb: C++ Dinamikus adatszerkezetek template class CArray2D protected: TYPE **m_array; long m_row, m_col; public: CArray2D(long row, long col) // konstruktor m_array = new TYPE*[row];
RészletesebbenSegé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észletesebbenGrafikus felhasználói felületek. Abstract Window Toolkit, a java.awt és java.awt.event csomagok
Grafikus felhasználói felületek készítése és eseménykezelés Java-ban Abstract Window Toolkit, a java.awt és java.awt.event csomagok Abstract Window Toolkit Absztraktizálás: az osztályok és funkcionalitások
Részletesebben3. 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észletesebbenOOP: 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észletesebbenJa J v a a v a há h l á óz ó a z t a i al a ka k l a maz ma á z s á o s k o Socket, URL
Java hálózati alkalmazások Socket, URL Protokollok java.net: socket, URL (Uniform Resource Locators) Protokoll: számítógépek közötti kommunikáció szabályai Internet TCP/IP (Transport Control Protocol/Internet
RészletesebbenPHP II. WEB technológiák. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) PHP II. 2014 1 / 19
PHP II. WEB technológiák Tóth Zsolt Miskolci Egyetem 2014 Tóth Zsolt (Miskolci Egyetem) PHP II. 2014 1 / 19 Tartalomjegyzék Objektum Orientált Programozás 1 Objektum Orientált Programozás Öröklődés 2 Fájlkezelés
RészletesebbenJava tutorial. Be- es kimenet kezelese. A legelsoprogram. Hogyan hasznaljunk fajlokat? Bemenet es kimenet absztrakciüja
Be- es kimenet kezelese A legelsoprogram Ü U dví zloszí veg kiıra sa a kepernyore public static void main( String args[] ){ System.out.println("Hello World!"); Hogyan hasznaljunk fajlokat? Ü Trivialis
RészletesebbenOBJEKTUM 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észletesebbenList<String> l1 = new ArrayList<String>(); List<Object> l2 = l1; // error
Generics Egyszerűbb példák (java.util csomagból): public interface List { void add(e x); Iterator iterator(); public interface Iterator { E next(); boolean hasnext(); E - formális típusparaméter,
RészletesebbenC# Nyelvi Elemei. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Nyelvi Elemei / 18
C# Nyelvi Elemei Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) C# Nyelvi Elemei 2013 1 / 18 Tartalomjegyzék 1 Object 2 Típusok 3 String 4 RegEx Tóth Zsolt (Miskolci Egyetem) C# Nyelvi
RészletesebbenXML 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észletesebbenJava 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észletesebbenJava Programozás 5. Gy: Java alapok. Adatkezelő 1.rész
Java Programozás 5. Gy: Java alapok Adatkezelő 1.rész 27/1 B ITv: MAN 2018.04.13 Feladat Egy nagyon hosszú feladatmegoldásba kezdünk bele: létrehozunk egy adatkezelő programot, sok-sok extrával: 27/2 A
RészletesebbenJava programozási nyelv 5. rész Osztályok III.
Java programozási nyelv 5. rész Osztályok III. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/20 Tartalomjegyzék
RészletesebbenPelda öröklődésre: import java.io.*; import java.text.*; import java.util.*; import extra.*;
Java osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés. ( Előfeltétel 12. Tétel ) Az osztály egy olyan típus leíró struktúra, amely
RészletesebbenJava VI. Egy kis kitérő: az UML. Osztály diagram. Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07.
Java VI. Öröklődés Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07. Java VI.: Öröklődés JAVA6 / 1 Egy kis kitérő: az UML UML: Unified Modelling Language Grafikus eszköz objektum
RészletesebbenOOP: 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észletesebbenJava programozási nyelv 6. rész Java a gyakorlatban
Java programozási nyelv 6. rész Java a gyakorlatban Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. október A Java programozási nyelv Soós Sándor 1/16 Tartalomjegyzék
RészletesebbenKalapácsvetés 2016 szöveges
Kalapácsvetés 2016 Ebben a feladatban a 2016. évi nyári olimpiai játékokon az atlétika férfi kalapácsvetés döntőjének eredményeit kell feldolgoznia. A döntő 6 dobási sorozatból állt, de a 3. sorozat után
RészletesebbenPéldaprogram - 2. Objektum-orientált programozás Java és C++ nyelven. Példaprogram. Azonosítók. Dr. Rohonczy János. Azonosítók
Példaprogram - 2 Dr. Rohonczy János Objektum-orientált programozás Java és C++ nyelven Java developer kit elérhetősége http://www.javasoft.com > javac Proba.java > java Proba 4 f = 24.0 ELTE, Általános
RészletesebbenProgramozási nyelvek és módszerek Java Thread-ek
Programozási nyelvek és módszerek Java Thread-ek Laki Sándor lakis@inf.elte.hu 2006. május 3. 0-0 Szálak (Threads) Ahhoz, hogy egy mai rendszer m ködhessen több 10-100 folyamatnak kell futnia. A folyamatok
RészletesebbenProgramozás I. Első ZH segédlet
Programozás I. Első ZH segédlet Ezen az oldalon: kiírás az alapértelmezett (hiba) kimenetre, sztring konkatenáció, primitív típusok, osztály létrehozás, példányosítás, adattagok, metódusok Kiíratás alapértelmezett
RészletesebbenSTL gyakorlat C++ Izsó Tamás május 9. Izsó Tamás STL gyakorlat/ 1
STL gyakorlat C++ Izsó Tamás 2016. május 9. Izsó Tamás STL gyakorlat/ 1 Komponensek kapcsolata Deklarálja az alábbi osztálydiagramon szereplő osztályok közül az A, AA és AB osztályokat! A konstruktorokat
RészletesebbenProgramozási nyelv Java
Programozási nyelv Java 1. gyakorlat Félév tematikája Bevezetés, alapok Vezérlési szerkezetek Eljárások, függvények Csomagok Tömbök, adatbevitelek Osztályok, objektumok, Interfészek Öröklődés, absztrakt
RészletesebbenBME 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észletesebbenJava Programozás 8. Gy: Java alapok. Adatkezelő 4.rész
Java Programozás 8. Gy: Java alapok Adatkezelő 4.rész 37/1 B ITv: MAN 2018.04.15 A feladat Feladat: folytassuk a panel életre keltését! - Készítsük el a Módosítás funkciót - A Lista panelt másoljuk le,
RészletesebbenSQL*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észletesebbenHello World Servlet. Készítsünk egy szervletet, amellyel összeadhatunk két számot, és meghívásakor üdvözlőszöveget ír a konzolra.
Hello World Servlet Készítsünk egy szervletet, amellyel összeadhatunk két számot, és meghívásakor üdvözlőszöveget ír a konzolra. Hozzunk létre egy Dynamic Web projectet File New Other itt a következőket
RészletesebbenProgramozási nyelvek Java
Programozási nyelvek Java 11.gyakorlat Operációsrendszertől függő tulajdonságok PATH elválasztó Unix ":" Windows ";" final String PATH_SEPARATOR = File.pathSeparator; Ugyanaz, csak karakterkent final char
RészletesebbenA Java nyelv IV. rész - appletek, hálózati alkalmazások fejlesztése
A Java nyelv IV. rész - appletek, hálózati alkalmazások fejlesztése A Java magasfokú objektumorientáltsága következtében egy Java program osztályok és objektumok összefüggő halmazát jelenti. A program
RészletesebbenObjektumorientált programozás C# nyelven III.
Objektumorientált programozás C# nyelven III. Kivételkezelés Tulajdonságok Feladatok Készítette: Miklós Árpád Dr. Kotsis Domokos Hallgatói tájékoztató A jelen bemutatóban található adatok, tudnivalók és
RészletesebbenJava IX. telkezelés a Java-ban
Java IX. Kivétel telkezelés a Java-ban Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 11. 17. Java IX. Kivételkezelés JAVA9 / 1 A kivételkezel telkezelés célja Kivételes
RészletesebbenProgramozás I. Szöveges fájlok kezelése Felsorolástípus Objektumtömb Gyakorló feladatok
Programozás I. Szöveges fájlok kezelése Felsorolástípus Objektumtömb Gyakorló feladatok 1 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észletesebbenNyíregyházi Egyetem Matematika és Informatika Intézete. Fájl rendszer
1 Fájl rendszer Terminológia Fájl és könyvtár (mappa) koncepció Elérési módok Fájlattribútumok Fájlműveletek ----------------------------------------- Könyvtár szerkezet -----------------------------------------
Részletesebben