CS1005 Objektorientierte Programmierung

Größe: px
Ab Seite anzeigen:

Download "CS1005 Objektorientierte Programmierung"

Transkript

1 CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Dateien Konzept, Verwendungsbeispiele Textdateien und ihre Analyse Binärdateien Seite 1 Thomas Letschert

2 Dateien - Konzept Datei Externer Datenspeicher CPU Hauptspeicher externe Speicher Ausführung von Programmen Programmcode und -Daten, direkt zugreifbar von CPU Festplatte etc.: nur indirekt zugreifbar über BetriebssystemAufrufe Extern Intern CPU / Prozessor Programmausführung Hauptspeicher Festplatte Programm-Code und -Daten Betriebssystem Seite 2

3 Dateien - Konzept Datei rein virtuelles Konstrukt: realisiert auf verschiedenen Abstraktionsebenen Platte: Magnetisierte Spuren, in Zylinder organisiert Plattencontroller: nummerierte Datenblöcke (von jeweils z.b. 512 Byte) Betriebssystem: (BS-) Datei = (scheinbar) zusammenhängender beliebig und variabel großer Datenbereich, nach Konventionen des Betriebssystems nutzbar Programm: (Programm-) Datei = (scheinbar) zusammenhängender beliebig und variabel großer Datenbereich, nach Konventionen der Programmiersprache nutzbar Ababd ahuwe diuhw Programmdatei (Programminterne Repräsentation.) Systemaufruf Programm Programm-API Betriebssystem BS-Datei (BS-internere Rep.) Seite 3 Daten

4 Dateien - Konzept Datei-Repräsentant in Java Ababd ahuwediuh bis Java 1.6: java.io.file ab Java 1.7: java.nio.file.path Programm Programm-API Betriebssystem Ab Java 7 stehen beide Varianten zur Verfügung. Es sollte aber i.a. die neuere Variante java.nio.file.path verwendet werden. Gelegentlich muss aber auch bei Java 7 auf die Klasse java.io.file zurück gegriffen werden. (z.b. bei Verwendung des FileChooser.) Seite 4

5 Dateien - Konzept Datei-Klassen in Java 7 java.nio.file.path ein Ort im Dateisystem: Pfad zu einer Datei oder einem Verzeichnis An diesem Ort muss nicht zwingend eine Datei oder ein Verzeichnis existieren java.nio.file.paths statische Klasse mit Hilfsfunktionen für Path-Objekte nicht sehr wichtige Klasse java.io.file Datei oder Verzeichnis Repräsentiert eine existierende Datei oder ein existierendes Verzeichnis java.io.files statische Klasse mit Hilfsfunktionen für File-Objekte Funktionen in dieser Klasse realisieren Operationen im realen Dateisystem Seite 5

6 Dateien Verwendung / lesen Datei-Inhalt zeilenweise mit der Klasse Scanner lesen java.io.file; java.io.filenotfoundexception; java.util.scanner; public class Read_V6 { public static void main(string[] args) throws FileNotFoundException { File f = new File("blubber.txt"); Scanner scan = new Scanner(f); while (scan.hasnextline()) { System.out.println(scan.nextLine()); Java alle Versionen java.io.ioexception; java.nio.file.path; java.nio.file.paths; java.util.scanner; public class Read_V7 { public static void main(string[] args) throws IOException { Path p = Paths.get("blubber.txt"); Scanner scan = new Scanner(p); while (scan.hasnextline()) { System.out.println(scan.nextLine()); ab Java 1.7 Seite 6

7 Dateien Verwendung / lesen Datei-Inhalt zeilenweise einlesen public static void main(string[] args) { Path path = Paths.get("/home/thomas/tmp/test.txt"); try { BufferedReader reader = Files.newBufferedReader(path,StandardCharsets.UTF_8); String line; int i = 0; while ((line = reader.readline())!= null) { System.out.println("Zeile "+ ++i + " "+ line); catch (IOException e) { System.err.println(e); ab Java 1.7 java.nio.file.files ist eine Helferklasse mit allerlei Nützlichem in Bezug auf Datei-Verarbeitung. java.nio.file.paths ist eine Helferklasse mit Nützlichem in Bezug auf Datei-Operationen. Seite 7

8 Dateien Verwendung / lesen Datei-Inhalt zeilenweise einlesen etwas kompakter java.io.ioexception; java.nio.charset.charset; java.nio.file.files; java.nio.file.path; java.nio.file.paths; public class Read_V7_a { public static void main(string[] args) throws IOException { Path path = Paths.get("test.txt"); int i = 0; for ( String line: Files.readAllLines( path, Charset.defaultCharset()) ) { System.out.println("Zeile "+ ++i + line); System.out.println("Die Datei enthält " + i + " Zeilen"); Seite 8 ab Java 1.7

9 Dateien Verwendung / lesen Datei-Inhalt zeilenweise einlesen als Liste von Zeilen java.io.ioexception; java.nio.charset.standardcharsets; java.nio.file.files; java.nio.file.path; java.nio.file.paths; java.util.list; public class ReadWrite { public static void main(string[] args) { Path path = Paths.get("/home/thomas/tmp/test.txt"); try { ab Java 1.7 int i = 0; List<String> lines = Files.readAllLines(path, StandardCharsets.UTF_8); for (String line: lines) { System.out.println("Zeile "+ ++i + " "+ line); catch (IOException e) { System.err.println(e); Charset.defaultCharset() : Zeichensatz des Systems StandardCharsets.UTF_8 : Zeichensatz UTF-8 Seite 9

10 Dateien Verwendung / lesen Datei-Inhalt komplett als String einlesen java.io.ioexception; java.nio.charset.charset; java.nio.file.files; java.nio.file.path; java.nio.file.paths; public class Read_V7_b { public static void main(string[] args) throws IOException { Path path = Paths.get("blubber.txt"); String content = new String( Files.readAllBytes(path), Charset.defaultCharset()); ab Java 1.7 System.out.println(content); Verwendet aus der Klasse Files: byte[] readallbytes(path path) und den Konstruktor der Klasse String: String(byte[] bytes, Charset charset) Seite 10

11 Dateien Verwendung / Auswahl Datei-Auswahl mit Auswahldialog Java 6 Variante java.io.file; java.io.filenotfoundexception; java.util.scanner; javax.swing.jfilechooser; public class Choose_V6 { public static void main(string[] args) throws FileNotFoundException { File f = null; JFileChooser fc = new JFileChooser(); int chooseresult = fc.showdialog(null, "Bitte Datei auswählen"); if (chooseresult == JFileChooser.APPROVE_OPTION) { f = fc.getselectedfile(); if (f!= null) { Scanner scan = new Scanner(f); while (scan.hasnextline()) { System.out.println(scan.nextLine()); Seite 11

12 Dateien Verwendung / Auswahl Datei-Auswahl mit Auswahldialog Java 7 Variante java.io.file; java.io.ioexception; java.nio.file.path; java.util.scanner; javax.swing.jfilechooser; public class Choose_V7 { public static void main(string[] args) throws IOException { File f = null; JFileChooser fc = new JFileChooser(); int chooseresult = fc.showdialog(null, "Bitte Datei auswählen"); if (chooseresult == JFileChooser.APPROVE_OPTION) { f = fc.getselectedfile(); Wechsel zwischen den V-6 und V-7 if (f!= null) { Repräsentanten: Path p = f.topath(); Path path = file.topath() Scanner scan = new Scanner(p); while (scan.hasnextline()) { File file = path.tofile(); System.out.println(scan.nextLine()); Seite 12

13 Dateien Verwendung / schreiben Datei schreiben Java 6 Variante java.io.filewriter; java.io.ioexception; java.io.printwriter; public class Write_V6 { public static void main(string[] args) throws IOException { String filepath = "balbla.txt"; PrintWriter pw = new PrintWriter( new FileWriter(filePath)); pw.println("hallo"); pw.println("welt!"); pw.close(); Datei mit Printwriter verbinden Datei schließen nicht vergessen! Seite 13

14 Dateien Verwendung / schreiben Datei schreiben Java 7 Variante 1 java.io.ioexception; java.io.printwriter; java.nio.charset.charset; java.nio.file.files; java.nio.file.paths; public class Write_V7 { public static void main(string[] args) throws IOException { String filepath = "balbla.txt"; PrintWriter pw = new PrintWriter( Files.newBufferedWriter( Paths.get(filePath), Charset.defaultCharset())); pw.println("hallo\n"); pw.println("welt!\n"); pw.close(); Datei mit Printwriter verbinden Angabe in welchem Zeichensatz der Text codiert werden soll. Z.B: Zeichensatz des Systems oder UTF-8 - Charset.defaultCharset() - Charset.forName("UTF-8")) Seite 14

15 Dateien Verwendung / schreiben Datei schreiben Java 7 Variante 2 java.io.bufferedwriter; java.io.ioexception; java.nio.charset.standardcharsets; java.nio.file.files; java.nio.file.path; java.nio.file.paths; java.nio.file.standardopenoption; public class ReadWrite { public static void main(string[] args) { Path path = Paths.get("/home/hugo/tmp/blabla.txt"); try { BufferedWriter writer = Files.newBufferedWriter( path, StandardCharsets.UTF_8, StandardOpenOption.WRITE ); Mit diesem Parameter wird die Datei nur beschrieben wenn sie bereits existiert, fehlt er, dann wird die Datei auch bei Bedarf erzeugt. int i = 0; while (i < 10) { writer.write("zeile "+ ++i + " "+ "blaba blubber " + "\n"); writer.close(); catch (IOException e) { System.err.println(e); Seite 15

16 Dateien Verwendung / schreiben Datei schreiben Java 7 Variante 3 Hallo Welt! balbla.txt vorher java.io.ioexception; java.nio.file.files; java.nio.file.path; java.nio.file.paths; java.nio.file.standardopenoption; public class Write_V7a { public static void main(string[] args) throws IOException { Path path = Paths.get("balbla.txt"); String text = "Das ist ein zusätzlicher Text\nMit Zeilenvorschub!"; byte[] bytes = text.getbytes("utf-8"); Files.write(path, bytes, StandardOpenOption.APPEND); Anhängendes Schreiben eines Strings auf eine Datei. Hallo Welt! Das ist ein zusätzlicher Text Mit Zeilenvorschub! java.nio.file.standardopenoption - APPEND - CREATE - Siehe API-Dok. balbla.txt Seite 16 nachher

17 Dateien Verwendung / Dateioperationen Dateien erzeugen, kopieren, löschen Java 7 java.io.ioexception; java.nio.file.files; java.nio.file.path; java.nio.file.paths; java.nio.file.standardcopyoption; java.nio.file.standardopenoption; public class CreateCopyDelete { public static void main(string[] args) throws IOException { Path path_1 = Paths.get("D:\\users\\hugo\\datei_1.txt"); Path path_2 = Paths.get("D:\\users\\hugo\\datei_2.txt"); // 1. Datei erzeugen Files.createFile(path_1); // 1. Datei fuellen Files.write( path_1, "Ein wenig Text.\nAls Inhalt der Datei.\n".getBytes(), StandardOpenOption.WRITE); // 1. -> 2. Datei kopieren Files.copy(path_1, path_2, StandardCopyOption.REPLACE_EXISTING); // 1. Datei loeschen Files.delete(path_1); Seite 17

18 Dateien Verwendung / anlysieren Datei analysieren nur Java 7 java.io.file; java.io.ioexception; java.nio.file.files; java.nio.file.path; javax.swing.jfilechooser; public class AnalyseFile { public static void main(string[] args) throws IOException { File f = null; JFileChooser fc = new JFileChooser(); int chooseresult = fc.showdialog(null, "Bitte Datei auswählen"); if (chooseresult == JFileChooser.APPROVE_OPTION) { f = fc.getselectedfile(); if (f!= null) { Path p = f.topath(); if (Files.isRegularFile(p)) { System.out.println("Die Datei ist " + (Files.isExecutable(p)? " ausfuehrbar" : " ") + (Files.isReadable(p)? " lesbar" : " ") + (Files.isWritable(p)? " schreibbar" : " ")); System.out.println("Der Dateityp ist: " + Files.probeContentType(p)); Seite 18

19 Texte analysieren Inhalt einer (Text-) Datei analysieren alle Java-Versionen Datei-Inhalt = Text = String Standardverfahren der Textanalyse in Java: StringTokenizer, StreamTokenizer veraltet Scanner-Klasse Text strukturiert lesen (Wort für Wort, Zeile für Zeile, etc.) String.split Methode Text an bestimmten Zeichen aufspalten mit den Klassen Pattern und Matcher für Fortgeschrittene Seite 19

20 Texte analysieren Scanner Scanner-Klasse kann Texte (Strings) in beliebige Einheiten aufspalten und Einheit für Einheit zur Verfügung stellen verschiedene Arten von Text-Quellen sind dabei möglich. java.util.scanner; public class Scan { public static void main(string[] args) { String s = "Dies ist ein Text.\nEr besteht aus\nworten und Zeilen.\n"; Scanner scanstring = new Scanner(s); while (scanstring.hasnext()) { System.out.println(scanString.next()); System.out.println(); ScanString.close(); scanstring = new Scanner(s); while (scanstring.hasnextline()) { System.out.println(scanString.nextLine()); ScanString.close(); Wortweise aus einem String lesen Zeilenweise aus einem String lesen Dies ist ein Text. Er besteht aus Worten und Zeilen. Dies ist ein Text. Er besteht aus Worten und Zeilen. Scanner stellt diverse next...-methoden zur Verfügung um den nächsten Text entsprechend einem bestimmten Typ zu analysieren. Siehe API-Doku. Seite 20

21 Texte analysieren Scanner Scanner-Klasse kann Texte (Strings) in beliebige Einheiten aufspalten und Einheit für Einheit zur Verfügung stellen verschiedene Arten von Text-Quellen sind dabei möglich. java.io.ioexception; java.nio.file.path; java.nio.file.paths; java.util.scanner; public class Scan { public static void main(string[] args) throws IOException { Path path = Paths.get("/home/hugo/tmp/blubber1.txt"); Scanner scanfile = new Scanner(path); while (scanfile.hasnext()) { System.out.println(scanFile.next()); System.out.println(); scanfile.close(); scanfile = new Scanner(p); while (scanfile.hasnextline()) { System.out.println(scanFile.nextLine()); Wortweise aus einer Datei lesen Zeilenweise aus einer Datei lesen Seite 21

22 Texte analysieren String split Split-Methode der Klasse String kann Texte (Strings) in beliebige Einheiten aufspalten und Einheit für Einheit zur Verfügung stellen. Ähnlich zu Scanner es können allerdings nur Texte, die in Strings liegen, zerlegt werden und die Zerlegung erfolgt in einem Schritt. "Abc die Katze lief im Schnee." public class Split { public static void main(string[] args) throws IOException { String s = "Abc die Katze lief im Schnee."; String[] sparts = s.split("\\s"); System.out.println(Arrays.asList(sParts)); ["Abc", "die", "Katze", "lief", "im", "Schnee."] "\\s": Trenner: jede Folge von weiße Zeichen, Leerzeichen, Tabs, etc. (ein regulärer Ausdruck) Seite 22

23 Texte analysieren Reguläre Ausdrücke Regulärer Ausdruck Ein Textmuster Vielfältige Verwendung bei der Textanalyse (unabhängig von Programmiersprachen) Wird als Konzept von allen (brauchbaren) anwendungsnahen Programmiersprachen angeboten Scanner und String.split verwenden reguläre Ausdrücke zur Definition der Trenner. Reguläre Basis-Ausdrücke in Java, Beispiele: x jedes Zeichen ist ein Muster das für sich selbst steht [xy] eine Klasse, ein x oder ein y regex1 regex2 ein Text der zu regex1 oder regex2 passt \\d eine Ziffer (= "[ ]" = "[0-9]" ) \\s ein weißes Zeichen \\w ein Wortzeichen (Buchstabe, Ziffer oder Unterstrich). ein einziges beliebiges Zeichen regex1* ein Text, der zu regex1 passt, beliebig oft wiederholt \\. ein Punkt, Sonderzeichen wie Punkt brauchen Escape -Zeichen Seite 23

24 Texte analysieren Reguläre Ausdrücke Regulärer Ausdruck Beispiel: public class Match { public static void main(string[] args) { String[] strings = { "Abc die Katze lief im Schnee.", "Peter schlief im Klee.", "Klausi trinkt gerne Tee mit Ruhm.", "Die Katze liebt keinen See."; Katze String[] pattern = {"Katze", ".*ee.*"; oder etwas mit zwei e-s for (String s: strings) { System.out.println(s); for (String word : s.split("\\s")) { for (String pat: pattern) { if (word.matches(pat)) { System.out.println( "\tenthält das Wort " + word + " das zu " + pat + " passt"); Abc die Katze lief im Schnee. enthält das Wort Katze das zu Katze passt enthält das Wort Schnee. das zu.*ee.* passt Peter schlief im Klee. enthält das Wort Klee. das zu.*ee.* passt Klausi trinkt gerne Tee mit Ruhm. enthält das Wort Tee das zu.*ee.* passt Die Katze liebt keinen See. enthält das Wort Katze das zu Katze passt enthält das Wort See. das zu.*ee.* passt Seite 24

25 Texte analysieren Beispiel CVS-Datei CSV-Datei CSV: Comma Separated Values Standard-Format für Daten in Textform ein (wichtiges) Format von sehr vielen Import- / Export-Format für Excel (und andere Programme) Tabellen ~ Textdateien Zeilen der Tabelle : Zeilen der Textdatei Zellen der Tabelle : durch Komma (Semikolon, Tab, ) getrennte Werte in einer Zeile Seite 25

26 Texte analysieren Beispiel CVS-Datei CSV-Datei einlesen : Datei auswählen an Hand des Content Type public static Path locatecsvfile(string msg) throws IOException { JFileChooser fc = new JFileChooser(); File f = null; Path p = null; while (true) { int returnval = fc.showdialog(null, msg); if (returnval == JFileChooser.APPROVE_OPTION) { f = fc.getselectedfile(); p = f.topath(); if (Files.isRegularFile(p) && Files.isReadable(p) && (Files.probeContentType(p).equals("text/csv") Files.probeContentType(p).equals("text/comma-separated-values") )) { return p; JOptionPane.showMessageDialog(null, "Die Datei ist keine CSV Datei!"); else break; return null; Achtung: Die Erkennung des Datei-Typs ist System-abhängig! Prüfen Sie eventuell welcher Content-Type einer CSV-Datei zugeordnet ist, die mit einem bestimmten Programm (Text-Editor / Excel / Open-Office /...) auf ihrem System erzeugt wurde. Seite 26

27 Texte analysieren Beispiel CVS-Datei CSV-Datei einlesen : Datei auswählen an Hand der Datei-Endung public static File locatecsvfile(string msg) throws IOException { JFileChooser fc = new JFileChooser(); File f = null; while (true) { int returnval = fc.showdialog(null, msg); if (returnval == JFileChooser.APPROVE_OPTION) { f = fc.getselectedfile(); if (f.getname().endswith(".csv")) { return f; JOptionPane.showMessageDialog(null, "Die Datei hat nicht den richtigen Typ"); else break; return null; Achtung: In manchen Betriebssystemen kann die Datei-Endung (File Name Extension) versteckt werden. Seite 27

28 Texte analysieren Beispiel CVS-Datei CSV-Datei einlesen : naive Analyse static List<Map<String, String>> readcsvfile(path path, String seperator) throws IOException { // erste Zeile / Attribute String[] attributes = null; // alle Zeilen ausser der ersten List<Map<String, String>> res = new ArrayList<Map<String, String>>(); boolean firstline = true; // erste Zeile enthaelt Spalten- (=Attribut-) Namen for (String line : Files.readAllLines(path, Charset.defaultCharset())){ if (firstline) { attributes = line.split(seperator); firstline = false; continue; Naive Analyse: CSV-Dateien können eine sehr komplexe Map<String,String> entry = new HashMap<>(); Struktur ausweisen, vor allem dann, wenn Zellen Werte String[] values = line.split(seperator); enthalten, in denen der Trenner vorkommt. int i = 0; for(string a: attributes) { String value = values[i].trim(); entry.put(a, value); i++; if (i == attributes.length i == values.length) break; res.add(entry); return res; Excel speichert Tabellen in Binärformat. (Unterschiedlich mit den Versionen wechselnd, teilweise geheim.) Zum Lesen und Schreiben muss man dieses Format genau kennen. Die Java-API enthält keine entsprechenden Klassen. Man kann aber frei verfügbare Open-Source Bibliotheken verwenden, z.b.: Apache POI ( Seite 28

29 Dateien Binär-Dateien Text-Dateien und Binär-Dateien alle Dateien enthalten Binärdaten! Textdatei enthält Bytes deren Bedeutung Zeichen sind Bedeutung der Bytes als Zeichen wird vom Zeichensatz (Charset) definiert Eingelesene Bytes müssen in programm-interne Zeichen umgewandelt werden Zeichen im Programm sind ebenfalls Bytes, aber meist nicht in der gleichen Codierung wie die vom Zeichensatz definierte Bitmuster A Lesen/Schreiben Umcodieren Bedeutet nach den Konventionen der Sprache Bedeutet im Zeichensatz cs Datei Bitmuster B Zeichen z Hauptspeicher / CPU Seite 29 Zeichensätze sind von großer Bedeutung

30 Dateien Binär-Dateien Text-Dateien und Binär-Dateien alle Dateien enthalten Binärdaten! Binärdatei Enthält Bytes deren Bedeutung von keiner Text-Konvention definiert wird Die Bedeutung der Bytes wird von der Anwendung definiert Eine Umwandlung der Bitmuster beim Lesen und Schreiben Findet nicht statt: Die Bitmuster werden so gespeichert, wie sie im Hauptspeicher zu finden sind Findet statt: Die Bitmuster werden beim Lesen decodiert und beim Schreiben codiert. Seite 30

31 Dateien Binär-Dateien Binär-Dateien / Beispiel: Daten binär einlesen und ausgeben java.io.file; java.io.ioexception; java.io.inputstream; java.io.outputstream; java.nio.charset.charset; java.nio.file.files; java.nio.file.path; java.nio.file.standardopenoption; javax.swing.jfilechooser; javax.swing.joptionpane; public class ByteIO { public static void main(string[] args) throws IOException { Path pathi =... Path patho =... InputStream is = Files.newInputStream(pathI, StandardOpenOption.READ); OutputStream os = Files.newOutputStream(pathO, StandardOpenOption.WRITE); byte[] bytes = new byte[1024]; int size = is.read(bytes); is.close(); // Bytes einlesen (maximal 1024 Bytes) // Bytes entsprechend dem aktuellen Zeichensatz decodieren String s = new String(bytes, 0, size, Charset.defaultCharset()); System.out.println(s); os.write(bytes, 0, size); os.close(); // Bytes schreiben Seite 31

32 Dateien Binär-Dateien Binär-Dateien / Serialisierung alle Dateien enthalten Binärdaten! Serialisierung / Deserialisierung Serialisieren: Die Bits von Objekten werden unverändert aus dem Hautspeicher in eine Datei geschrieben. Deserialisieren: Die Bits von Objekten werden unverändert von einer Datei in den Hauptspeicher kopiert Vorteil: Schnell Nachteil: Nicht Portabel, das Datenformat an Java gebunden Objekt Speicher Seite 32 Datei

33 Dateien Binär-Dateien Binär-Dateien / Beispiel Serialisierung, Deserialisierung Markierung: Serialisieren erlaubt! Kontrolle der Version der Definition class Person implements Serializable { private static final long serialversionuid = 1L; private String name; private String vorname; public Person(String vorname, String name) { this.name = name; this.vorname = public String tostring() { return "Person["+vorName+" "+name+"]"; public static void main(string[] args) throws IOException, ClassNotFoundException { Person[] personen_1 = { new Person("Karl", "Napp"), new Person("Karla", "Kahl"); Das zu speichernde Objekt (ein Array) Path path =... ObjectOutputStream os = new ObjectOutputStream( Files.newOutputStream(path, StandardOpenOption.WRITE, StandardOpenOption.TRUNCATE_EXISTING)); os.writeobject(personen_1); os.close(); Datei öffnen Objekt speichern ObjectInputStream is = new ObjectInputStream( Files.newInputStream(path, StandardOpenOption.READ)); Person[] personen_2 = (Person[]) is.readobject(); is.close(); for (Person p: personen_2) { System.out.println(p); Seite 33 Datei öffnen Objekt einlesen

34 Dateien Binär-Dateien Binär-Dateien / standardisierte Formate universelle / standardisierte Formate: z.b.: MP3 anwendungs-spezifische Formate, z.b. Speicherformat von Word, Excel lokale Formate: Verabredung zwei Partner Vergleich zu Textdateien Vorteil: Speicherung kompakter, schreiben / lesen schneller Nachteil: schwer zu entziffern (kann auch ein Vorteil sein) Seite 34

Informatik II. Dateien. Seite 1 Th Letschert, THM

Informatik II. Dateien. Seite 1 Th Letschert, THM Informatik II Dateien Seite 1 Th Letschert, THM Dateien - Konzept Datei Externer Datenspeicher CPU: Programmausführung Hauptspeicher: Programmcode und -Daten, direkt zugreifbar von CPU Festplatte etc.:

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java Dateien lesen und schreiben 2 Übersicht der heutigen Inhalte File Streams try-with-resources Properties csv-dateien 3 Klasse File Die Klasse java.io.file bietet Unterstützung im Umgang

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 17 Einstieg in die Informatik mit Java String Tokenizer Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 17 1 Überblick Tokenizer 2 StringTokenizer 3 Verwendung von String.split

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form

Mehr

Programmieren I. Dateien: Allgemeines. Vorlesung 10. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011

Programmieren I. Dateien: Allgemeines. Vorlesung 10. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011 Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2010/2011 1 / 26 Dateien: Allgemeines Dateien lesen Beispiel: CSV-Daten Filter Ausgabe in Dateien 2 / 26 Dateien: Allgemeines Kaum

Mehr

Programmieren 2 Selbststudium Semesterwoche 6

Programmieren 2 Selbststudium Semesterwoche 6 Programmieren 2 Selbststudium Semesterwoche 6 1. Datenströme (Basis: Handout PRG2_SW6_OOP) 1. Gehen Sie nochmals die Kontrollfragen A durch. A.1. Ein JavaProgramm liest Daten aus einem???strom. InputStream

Mehr

AK-Automatisierungs und Kommunikationstechnik TI Technische Informatik. NWT Netzwerktechnik www.munz-udo.de

AK-Automatisierungs und Kommunikationstechnik TI Technische Informatik. NWT Netzwerktechnik www.munz-udo.de Aufgaben: Ein Ausgabe Ein Rechner verwaltet nicht nur Daten, die während der Laufzeit des Programms erzeugt werden. Die meisten Programme greifen auf ältere Datenbestände zurück oder erzeugen für einen

Mehr

Programmieren lernen mit Groovy Strings, GStrings, Textverarbeitung

Programmieren lernen mit Groovy Strings, GStrings, Textverarbeitung Programmieren lernen mit Groovy Strings, GStrings, Textverarbeitung Seite 1 Strings: String-Ausdrücke Strings Strings sind Zeichenketten String-Ausdrücke: In einfachen oder doppleten Hochkommas def String-Variable

Mehr

DHBW Karlsruhe, Vorlesung Programmieren, Events Musterlösung

DHBW Karlsruhe, Vorlesung Programmieren, Events Musterlösung DHBW Karlsruhe, Vorlesung Programmieren, Events Musterlösung Aufgabe Editor package BA.GUI.Swing; import java.awt.*; import java.awt.event.*; import java.io.*; import java.util.logging.level; import java.util.logging.logger;

Mehr

Objektorientierte Programmierung Einstufungstest

Objektorientierte Programmierung Einstufungstest Seite 1 von 11 Objektorientierte Programmierung Name: Zeit: 120 Minuten (2 Stunden) Programmiersprache Java 8 Nr. Aufgabe 1 Theoriemix 20 2 Matrix-Transposition 20 3 Organigramm 20 4 Vorlesungskalender

Mehr

Programmieren in Java

Programmieren in Java Datei-Handling Anonyme Klassen 2 Enums Enums sind eine Aufzählung von int-werten, wobei jedes Element einem bestimmten Namen zugeordnet ist In Java werden Enums über das Schlüsselwort enum definiert und

Mehr

Einführung in die Programmierung 1

Einführung in die Programmierung 1 Einführung in die Programmierung 1 Einführung (S.2) Einrichten von Eclipse (S.4) Mein Erstes Programm (S.5) Hallo Welt!? Programm Der Mensch (S.11) Klassen (S.12) Einführung Wie Funktioniert Code? Geschriebener

Mehr

Primitive Datentypen

Primitive Datentypen Primitive Datentypen 2 Arten von Datentypen: primitive Datentypen (heute) Objekte (später) Java ist streng typisiert, d.h. für jede Variable muß angegeben werden was für eine Art von Wert sie aufnimmt.

Mehr

Java Fehlerbehandlung

Java Fehlerbehandlung Java Fehlerbehandlung 1 Fehlerbehandlung In jedem nicht-trivialen Programm kann es während der Laufzeit zu Fehlersituationen kommen. Dabei handelt es sich nicht unbedingt um Programmierfehler: z. B.: Programm

Mehr

Dateien: Allgemeines Dateien lesen Beispiel: CSV-Daten Filter Ausgabe in Dateien. Programmieren I. Martin Schultheiß

Dateien: Allgemeines Dateien lesen Beispiel: CSV-Daten Filter Ausgabe in Dateien. Programmieren I. Martin Schultheiß Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2010/2011 1 Dateien: Allgemeines 2 Dateien lesen 3 Beispiel: CSV-Daten 4 Filter 5 Ausgabe in Dateien Dateien: Allgemeines Kaum eine

Mehr

Dateien: Allgemeines Dateien lesen Beispiel: CSV-Daten Filter Ausgabe in Dateien. Programmieren I. Dr. Klaus Höppner

Dateien: Allgemeines Dateien lesen Beispiel: CSV-Daten Filter Ausgabe in Dateien. Programmieren I. Dr. Klaus Höppner Programmieren I Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2008/2009 1 / 26 Dateien: Allgemeines Dateien lesen Beispiel: CSV-Daten Filter Ausgabe in Dateien 2 / 26 Dateien: Allgemeines Kaum

Mehr

Javakurs zu Informatik I. Henning Heitkötter

Javakurs zu Informatik I. Henning Heitkötter Javakurs zu Informatik I Arrays vergleichen Implementieren Sie folgende Methode, die prüft, ob die Elemente der beiden Arrays an jeder Position übereinstimmen: public static boolean identisch(int[] a,

Mehr

von Anja Austermann Drag and Drop

von Anja Austermann Drag and Drop von Anja Austermann Drag and Drop »Drag and Drop«ist die Bezeichnung für den Datentransfer zwischen unterschiedlichen Anwendungen mit grafischer Benutzeroberfläche. Zur Zeit arbeitet Drag and Drop in Java

Mehr

5 Grundlagen der Java-Syntax

5 Grundlagen der Java-Syntax 5 Grundlagen der Java-Syntax Es sollen nun einige Grundregeln besprechen, die in jeder Java-Programmdatei berücksichtigt werden müssen. 5.1 Grundsätzliches zur Syntax von Java Programmen Zunächst sollten

Mehr

6 Ein- und Ausgabe. Bisher war unsere (Bildschirm-) Ausgabe leichtflüchtig (

6 Ein- und Ausgabe. Bisher war unsere (Bildschirm-) Ausgabe leichtflüchtig ( 6 Ein- und Ausgabe Bisher war unsere (Bildschirm-) Ausgabe leichtflüchtig ( Drucken war hoffnungslos übertrieben); heute lernen wir, wie wir die Ergebnisse unserer Programme abspeichern können, um sie

Mehr

CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik)

CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Einfache Programme: Programm-Argument, Bedingte Anweisungen, Switch, Enum Boolesche Werte und Ausdrücke Seite 1 Beispiel: Umrechnen

Mehr

Java-Schulung Grundlagen

Java-Schulung Grundlagen Java-Schulung Grundlagen Java 2 Standard Edition JDK 5 / 6 31.05.2008 Marcel Wieczorek 1 Themenübersicht Basiswissen Objektorientierung Datentypen Fehlerbehandlung Sonstiges Einführung Klassen, Strings

Mehr

Distributed Computing Group

Distributed Computing Group JAVA TUTORIAL Distributed Computing Group Vernetzte Systeme - SS 06 Übersicht Warum Java? Interoperabilität grosse und gut dokumentierte Library weit verbreitet Syntax sehr nahe an C Erfahrung: Java wird

Mehr

CS1005 Objektorientierte Programmierung

CS1005 Objektorientierte Programmierung CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Algorithmen und Programme Seite 1 Th Letschert I want You for Java! Seite 2 Allgemeines Lernziel / Inhalt Einführung in die objektorientierte

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

6 Speicherorganisation

6 Speicherorganisation Der Speicher des Programms ist in verschiedene Speicherbereiche untergliedert Speicherbereiche, die den eigentlichen Programmcode und den Code der Laufzeitbibliothek enthalten; einen Speicherbereich für

Mehr

1. Der Einstieg in Java. Was heißt Programmieren?

1. Der Einstieg in Java. Was heißt Programmieren? 1. Der Einstieg in Java Lernziele: Am Ende dieses Kapitels sollen Sie wissen, aus welchen Bestandteilen ein Java-Programm besteht, Java-Programme übersetzen und ausführen können, Möglichkeiten der Kommentierung

Mehr

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen

Mehr

Programmieren I und II

Programmieren I und II Handout zu den Vorlesungen Vorlesung Programmieren I und II Unit 4 Einfache I/O Programmierung Serialisierung von Objekten 1 Prof. Dr. rer. nat. Nane Kratzke Praktische Informatik und betriebliche Informationssysteme

Mehr

Musterlösungen zur Klausur Informatik 3

Musterlösungen zur Klausur Informatik 3 Musterlösungen zur Klausur Informatik 3 Justus-Liebig-Universität Gießen Wintersemester 2003/2004 Aufgabe 1 (6 Punkte) Man kreuze bei den folgenden Deklarationen und Definitionen jeweils an, ob sie aus

Mehr

Tipps und Hinweise zum Bezug der Beitragssatzdatei V5.0

Tipps und Hinweise zum Bezug der Beitragssatzdatei V5.0 Tipps und Hinweise zum Bezug der Beitragssatzdatei V5.0 Die Beitragssatzdatei in der Version 5.0 wird nur über https Download auf einer frei zugänglichen Webseite auf den folgenden Seiten bereitgestellt.

Mehr

Jakarta Lucene. Eine Java-Bibliothek zur Suchindex-Erstellung. Seminararbeit Tilman Schneider

Jakarta Lucene. Eine Java-Bibliothek zur Suchindex-Erstellung. Seminararbeit Tilman Schneider Jakarta Lucene Eine Java-Bibliothek zur Suchindex-Erstellung Seminararbeit Tilman Schneider 2004 Tilman Schneider Seminararbeit: Jakarta Lucene Folie 1 Agenda Definition: Suchmaschine Vorstellung von Jakarta

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 03: Wiederholung und Nutzereingaben Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Wiederholung Klassen, Objekte, Attribute und Methoden

Mehr

Programmieren I + II Regeln der Code-Formatierung

Programmieren I + II Regeln der Code-Formatierung Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme WS 2016/2017, SS 2017 Programmieren I + II Regeln der Code-Formatierung In diesem Dokument finden

Mehr

Vorlesung Informatik II

Vorlesung Informatik II Vorlesung Informatik II Universität Augsburg Wintersemester 2011/2012 Prof. Dr. Bernhard Bauer Folien von: Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 02. JAVA: Erstes Programm 1 Das erste Java-Programm

Mehr

Beispiel Time Client/Server

Beispiel Time Client/Server Beispiel Time Client/Server /** * * Programmbeschreibung: * --------------------- * Dieses Programm ermittelt über eine TCP/IP-Verbindung die Uhrzeit eines * entfernten Rechners, wobei es sowohl die Rolle

Mehr

Software Entwicklung 1

Software Entwicklung 1 Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter AG Softech FB Informatik TU Kaiserslautern Ströme zur Ein- und Ausgabe Bieniusa/Poetzsch-Heffter Software Entwicklung 1 2/ 44 Ströme zur

Mehr

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Inhalt dieser Einheit Variablen (Sinn und Aufgabe) Bezeichner Datentypen, Deklaration und Operationen Typenumwandlung (implizit/explizit) 2 Variablen

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung 25.01.2007 Wintersemester 2006/2007 Computerlinguistik, Campus DU Überblick Seite 2 Datenströme: Ein und Ausgabe von Daten Java Collections Framework Eingabe/Ausgabe Seite 3 Lesen, Schreiben

Mehr

Programmieren 2 09 File-IO

Programmieren 2 09 File-IO Programmieren 2 09 File-IO Bachelor Medieninformatik Sommersemester 2015 Dipl.-Inform. Ilse Schmiedecke schmiedecke@beuth-hochschule.de 1 Eingabe und Ausgabe in Java Daten im Programm während der Ausführungszeit:

Mehr

Informatik 1 - Translation Studies in Information Technology. Musterlösung zum Aufgabenblatt der ersten Pflichtübung im Wintersemester 16/17

Informatik 1 - Translation Studies in Information Technology. Musterlösung zum Aufgabenblatt der ersten Pflichtübung im Wintersemester 16/17 Informatik 1 - Translation Studies in Information Technology INF1 TSIT MUSTERLÖSUNG: PFLICHTÜBUNG 1 Musterlösung zum Aufgabenblatt der ersten Pflichtübung im Wintersemester 16/17 Praktikum zur Vorlesung

Mehr

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg Sommersemester 2014 Jochen Hoenicke (Software Engineering) Einführung in die Informatik Sommersemester

Mehr

! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete! 4. Ausnahmen (Exceptions) II.4.

! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete! 4. Ausnahmen (Exceptions) II.4. ! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete! 4. Ausnahmen (Exceptions) II.4.4 Exceptions - 1 - Ausnahmen (Exceptions( Exceptions) Treten auf, wenn zur

Mehr

5.4 Klassen und Objekte

5.4 Klassen und Objekte 5.4 Klassen und Objekte Zusammenfassung: Projekt Figuren und Zeichner Figuren stellt Basisklassen für geometrische Figuren zur Verfügung Zeichner bietet eine übergeordnete Klasse Zeichner, welche die Dienstleistungen

Mehr

Tutorial04: Swing: Erstellen eines JFrames mit einem JSplitPane

Tutorial04: Swing: Erstellen eines JFrames mit einem JSplitPane Hochschule Harz Programmierung2 Tutorial 04: FB Automatisierung und Informatik Dipl.-Inf., Dipl.-Ing. (FH) M. Wilhelm Programmierung 2 für MI / WI Thema: Swing, JSplitPane und I/O Versuchsziele Kenntnisse

Mehr

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden Kapitel 8 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Methoden Überladen von Methoden Der this-zeiger Konstruktoren Vererbung WS 07/08

Mehr

Hello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.

Hello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3. Hello World Javakurs 2014, 1. Vorlesung Sebastian Schuck basierend auf der Vorlage von Arne Kappen wiki.freitagsrunde.org 3. März 2014 This work is licensed under the Creative Commons Attribution-ShareAlike

Mehr

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java: Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen

Mehr

3. Anweisungen und Kontrollstrukturen

3. Anweisungen und Kontrollstrukturen 3. Kontrollstrukturen Anweisungen und Blöcke 3. Anweisungen und Kontrollstrukturen Mit Kontrollstrukturen können wir den Ablauf eines Programmes beeinflussen, z.b. ob oder in welcher Reihenfolge Anweisungen

Mehr

3. Grundlegende Sprachkonstruktionen imperativer Programme

3. Grundlegende Sprachkonstruktionen imperativer Programme 3. Grundlegende Sprachkonstruktionen imperativer Programme Java-Beispiele: Temperature.java Keyboard.java K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 4. Nov. 2015 2 Schwerpunkte

Mehr

Alexander Syndikus (h_da) Informatik für CuB WS 2015/16-1/43. Teil IX. Dateien

Alexander Syndikus (h_da) Informatik für CuB WS 2015/16-1/43. Teil IX. Dateien Alexander Syndikus (h_da) Informatik für CuB WS 2015/16-1/43 Teil IX Dateien Alexander Syndikus (h_da) Informatik für CuB WS 2015/16-2/43 Inhalt String Objekte Daten und Dateien Binär- / Textdateien CSV-Dateien

Mehr

Referat: Netzwerkprogrammierung in Java

Referat: Netzwerkprogrammierung in Java 1.)ISO/OSI und Internet Referenzmodell Referat: Netzwerkprogrammierung in Java ISO/OSI 7 Schichtenmodell (1-Bitübertragung, 2-Sicherung, 3-Netzwerk, 4-Transport, 5-Sitzung, 6- Darstellung, 7-Anwendung)

Mehr

Tutoraufgabe 1 (Zweierkomplement): Lösung: Programmierung WS16/17 Lösung - Übung 2

Tutoraufgabe 1 (Zweierkomplement): Lösung: Programmierung WS16/17 Lösung - Übung 2 Prof. aa Dr. J. Giesl Programmierung WS16/17 F. Frohn, J. Hensel, D. Korzeniewski Tutoraufgabe 1 (Zweierkomplement): a) Sei x eine ganze Zahl. Wie unterscheiden sich die Zweierkomplement-Darstellungen

Mehr

Java I Vorlesung Exceptions

Java I Vorlesung Exceptions Java I Vorlesung 8 Exceptions 14.6.2004 Exceptions (Ausnahmen) Klassen für Ein- und Ausgabe Ausnahmen Ausnahmen (Exceptions) sind ein Mechanismus zum kontrollierten Melden und Reagieren auf Fehler. Man

Mehr

Einführung in Javadoc

Einführung in Javadoc Einführung in Javadoc Johannes Rinn http://java.sun.com/j2se/javadoc Was ist Javadoc? Javadoc ist ein Werkzeug, dass eine standardisierte Dokumentation für die Programmiersprache Java unterstützt. Vorteil:

Mehr

Schreiben von Microsoft Office Datein mit Java

Schreiben von Microsoft Office Datein mit Java Schreiben von Microsoft Office Dateien mit Java Dietmar Steinbichler 1 Das Apache Jakarta Projekt Das Apache Jakarta Projekt erzeugt und verwaltet Open Source Projekte, die für Jedermann kostenlos zur

Mehr

1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen

1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen 1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen II.2.2 Methoden, Unterprogramme und Parameter - 1 - 2. Methoden

Mehr

PIWIN 1 Übung Blatt 5

PIWIN 1 Übung Blatt 5 Fakultät für Informatik Wintersemester 2008 André Gronemeier, LS 2, OH 14 Raum 307, andre.gronemeier@cs.uni-dortmund.de PIWIN 1 Übung Blatt 5 Ausgabedatum: 19.12.2008 Übungen: 12.1.2009-22.1.2009 Abgabe:

Mehr

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015 Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 4, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)

Mehr

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel.

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel. Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 7, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)

Mehr

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung Übersicht 3.1 Modell Konto 3.2 Modell Konto - Erläuterungen 3.3 Benutzer Ein- und Ausgabe mit Dialogfenster I 3.4 Benutzer Ein- und Ausgabe mit Dialogfenster II 3.5 Klassen- und Objekteigenschaften des

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Literalkonstanten Übersicht 1 Ganzzahlige Konstanten 2 Gleitkommakonstanten 3 Zeichenkonstanten 4 Zeichenketten 5 Boolsche Konstanten 6 null Referenz Literalkonstanten Literalkonstanten

Mehr

Java - Programmierung - Objektorientierte Programmierung 1

Java - Programmierung - Objektorientierte Programmierung 1 Java - Programmierung - Objektorientierte Programmierung 1 // Klassen und Objekte public class KlaObj public static void main(string args []) Klasse1 a; a = new Klasse1("heute", 47); Klasse1 b = new Klasse1

Mehr

II.1.1. Erste Schritte - 1 -

II.1.1. Erste Schritte - 1 - ! 1. Grundelemente der Programmierung! 2. Objekte, Klassen und Methoden! 3. Rekursion und dynamische Datenstrukturen! 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.1.1. Erste Schritte - 1

Mehr

Die elementare Ausgabe von Daten auf externe Medien, wie Dateien und das Einlesen davon wird demonstriert.

Die elementare Ausgabe von Daten auf externe Medien, wie Dateien und das Einlesen davon wird demonstriert. Ein- und Ausgabe Die elementare Ausgabe von Daten auf externe Medien, wie Dateien und das Einlesen davon wird demonstriert. Komplexe E/A-Operationen werden erst diskutiert, nachdem das Klassenkonzept erarbeitet

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 20 Einstieg in die Informatik mit Java Literalkonstanten Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 20 1 Ganzzahlige Konstanten 2 Gleitkommakonstanten 3 Zeichenkonstanten

Mehr

Java-Programmierung mit Netbeans:

Java-Programmierung mit Netbeans: Java-Programmierung mit Netbeans: JFrame mit Menü, Info-Dialog, Methoden zum Speichern und Öffnen Wir schreiben ein Demo-Programm. 1. Start: New Project / Java Application Project Name = MenuDemo Project

Mehr

Java Input/Output System (IO)

Java Input/Output System (IO) Java Input/Output System (IO) Ziel: Schreiben und Lesen von Daten auf sequentielle Medien. Paket: java.io. ab Java 1.4 auch java.nio, hier nicht beru cksichtigt. Trennung in 2 Welten: - Byteorientierte

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 14 Dateiverwaltung, das Stream-Konzept... 14-2 14.1 Datenströme... 14-2 14.1.1 Datenströme in Java, Paket java.io.*... 14-3 14.1.2 Standarddatenströme... 14-4 14.2 Klasse java.io.file... 14-7 14.3

Mehr

1. Der Einstieg in Java

1. Der Einstieg in Java 1. Der Einstieg in Java Was heißt Programmieren? 1. Der Einstieg in Java Lernziele: Am Ende dieses Kapitels sollen Sie wissen, aus welchen Bestandteilen ein Java-Programm besteht, Java-Programme übersetzen

Mehr

Programmdokumentation

Programmdokumentation Programmdokumentation Der 1. Abgabe am 29.10.1998 über das 1. und 2. Programm INHALTSVERZEICHNIS: 1 ERSTES PROGRAMM: RECHNUNGSERSTELLUNG... 2 1.1 MODULARISIERUNG UND DATENSTRUKTUR... 2 1.1.1 Grundidee:

Mehr

Exceptions: Parameterprüfung import java.io.ioexception;

Exceptions: Parameterprüfung import java.io.ioexception; PPK2 Java Exceptions, Dateien Seite 1 von 31 Exceptions: Parameterprüfung import java.io.ioexception; public class Parameters public static String Methode(String str,exception obj,int index, String[] array)

Mehr

Java Einführung Programmcode

Java Einführung Programmcode Java Einführung Programmcode Inhalt dieser Einheit Programmelemente Der erste Programmcode Die Entwicklungsumgebung: Sun's Java Software Development Kit (SDK) Vom Code zum Ausführen des Programms 2 Wiederholung:

Mehr

AuD-Tafelübung T-B5b

AuD-Tafelübung T-B5b 6. Übung Sichtbarkeiten, Rekursion, Javadoc Di, 29.11.2011 1 Blatt 5 2 OOP Klassen Static vs. Instanzen Sichtbarkeit 3 Stack und Heap Stack Heap 4 Blatt 6 1 Blatt 5 2 OOP Klassen Static vs. Instanzen Sichtbarkeit

Mehr

Schritt 4: Hallo Enterprise Bean

Schritt 4: Hallo Enterprise Bean Prof. Dr. Th. Letschert FB MNI JEE Schritt 4: Hallo Enterprise Bean Einstieg: EJBs erzeugen und nutzen Meine erstes EJB Projekt Enterprise Beans sind eine Backend Technologie, die mit unterschiedlichen

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

Mehr

Zeichen. Datentyp char. char ch = 'x'; Page 1. Zeichen braucht man zur Verarbeitung von Texten, Namen, Bezeichnungen. Zeichencodes

Zeichen. Datentyp char. char ch = 'x'; Page 1. Zeichen braucht man zur Verarbeitung von Texten, Namen, Bezeichnungen. Zeichencodes Zeichen Datentyp char char ch = 'x'; Zeichenvariable Zeichenkonstante (unter einfachen Hochkommas) Zeichen braucht man zur Verarbeitung von Texten, Namen, Bezeichnungen. Zeichencodes ASCII (American Standard

Mehr

Beispiel E-Mail senden

Beispiel E-Mail senden Beispiel E-Mail senden E-Mail senden erfolgt nach dem SMTP-Protokoll auf Port 25 Das SMTP-Protokoll hat folgendes Format (RFC 821, RFC 2821) HELO Sendender Host MAIL FROM:

Mehr

1 Fehler-Objekte: Werfen, Fangen, Behandeln

1 Fehler-Objekte: Werfen, Fangen, Behandeln 1 Fehler-Objekte: Werfen, Fangen, Behandeln Tritt während der Programm-Ausführung ein Fehler auf, wird die normale Programm-ausführung abgebrochen und ein Fehler-Objekt erzeugt (geworfen). Die Klasse Throwable

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java Fehlerbehandlung und Ein- und Ausgabe Titel der Präsentation 2 Fehler = Exceptions? Die Exception- bzw. Ausnahmebehandlung in Java ist eine spezielle Form der Fehlerbehandlung Typischerweise

Mehr

Einführung in die Programmierung mit Java

Einführung in die Programmierung mit Java Einführung in die Programmierung mit Java Martin Wirsing 2 Ziele Geschichte der OO-Programmiersprachen Warum Java als Programmiersprache verwenden? Ein einfaches Java-Programm erstellen, übersetzen und

Mehr

Theorie zu Übung 8 Implementierung in Java

Theorie zu Übung 8 Implementierung in Java Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 8 Implementierung in Java Klasse in Java Die Klasse wird durch das class-konzept

Mehr

Datenbankanwendungsprogrammierung Crashkurs Java

Datenbankanwendungsprogrammierung Crashkurs Java Datenbankanwendungsprogrammierung Crashkurs Java Denny Priebe Datenbankanwendungsprogrammierung p. Unterschiede zu C, C++ typedefs, Präprozessor Strukturen, Unions globale Funktionen Mehrfachvererbung

Mehr

1.3 Welche Schritte werden bei der Programmerstellung benötigt? 1.5 Was sind Variablen im Kontext der Programmierung?

1.3 Welche Schritte werden bei der Programmerstellung benötigt? 1.5 Was sind Variablen im Kontext der Programmierung? Fragenkatalog ESOP 1 Einleitung 1.1 Was ist Programmieren? 1.2 Was ist ein Programm? 1.3 Welche Schritte werden bei der Programmerstellung benötigt? 1.4 Was ist ein Algorithmus? 1.5 Was sind Variablen

Mehr

Objektorientierte Programmierung OOP Programmieren mit Java

Objektorientierte Programmierung OOP Programmieren mit Java Übungen: 6 Schleifen Objektorientierte Programmierung OOP Programmieren mit Java 1. do-schleife 2. while-schleife 3. a) c) Verschiedene for-schleifen 6 Schleifen Übungen 4. for-schleife: halber Tannenbaum

Mehr

2 Die Codierung Sehen wir uns mal den vereinfachten Weg der Informationen von der Tastatur aus bis zum Filesystem an:

2 Die Codierung Sehen wir uns mal den vereinfachten Weg der Informationen von der Tastatur aus bis zum Filesystem an: Name Klasse Datum 1 Allgemeines Daten werden bekanntermaßen im Computer in einem flüchtigen Speicher, dem RAM verarbeitet. Insofern gehen sie verloren, sobald der Rechner ausgeschaltet wird. Weiterhin

Mehr

Bäume. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 10: Collections 4. Inhalt. Bäume. Einführung. Bäume.

Bäume. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 10: Collections 4. Inhalt. Bäume. Einführung. Bäume. Universität Osnabrück 1 Bäume 3 - Objektorientierte Programmierung in Java Vorlesung 10: Collections 4 Einführung Bäume sind verallgemeinerte Listenstrukturen Lineare Liste Jedes Element hat höchstens

Mehr

Große Übung Praktische Informatik 1

Große Übung Praktische Informatik 1 Große Übung Praktische Informatik 1 2005-12-08 fuessler@informatik.uni-mannheim.de http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,

Mehr

2. Methoden. n Generelles zum Aufruf von Methoden. n Parameterübergabemechanismen (call by value, call by reference)

2. Methoden. n Generelles zum Aufruf von Methoden. n Parameterübergabemechanismen (call by value, call by reference) 2. Methoden n Generelles zum Aufruf von Methoden n Parameterübergabemechanismen (call by value, call by reference) n Speicherorganisation bei Methodenaufruf und Parameterübergabe (Laufzeitkeller) n vararg

Mehr

Java I/O, Serialisierung und Netzwerkprogrammierung

Java I/O, Serialisierung und Netzwerkprogrammierung Java I/O, Serialisierung und Netzwerkprogrammierung Philipp Güttler 16. Dezember 2009 Universität Ulm, Abt. SGI Progwerkstatt 2 19 Gliederung Java I/O, Serialisierung und Netzwerkprogrammierung 16. Dezember

Mehr

Programmieren. JavaScript-Objekt-Verarbeitung mit GSON. Heusch --- Ratz --- www.kit.edu. Institut für Angewandte Informatik

Programmieren. JavaScript-Objekt-Verarbeitung mit GSON. Heusch --- Ratz --- www.kit.edu. Institut für Angewandte Informatik Programmieren JavaScript-Objekt-Verarbeitung mit GSON Heusch --- Ratz --- KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Motivation

Mehr

Anleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014)

Anleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014) Anleitung Ein einfaches RMI-Beispiel (ab Java.0) c Y. Pfeifer (Juni 014) 1 Ein einfaches RMI-Beispiel Vorgehensweise: 1. Java Projekt anlegen. Zwei Packages server & client erstellen Auf der Server-Seite

Mehr

Relationen-Algebra und Persistenz Teil I

Relationen-Algebra und Persistenz Teil I Relationen-Algebra und Persistenz Teil I Implementierungskonzepte und Anforderungen an Attributdatentypen LG Datenbanksysteme für neue Anwendungen Inhalt FLOBs DBArrays Attributsdatentypen Folie 2 Bisher:

Mehr

equals und hashcode SortedSet NavigableSet Assoziative Container Programmieren II Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2010 1 / 32

equals und hashcode SortedSet NavigableSet Assoziative Container Programmieren II Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2010 1 / 32 Programmieren II Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2010 1 / 32 equals und hashcode SortedSet NavigableSet Assoziative Container 2 / 32 HashSet mit eigener Klasse Wie kann man einen

Mehr

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8 Java 8 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Oktober 2014 JAV8 5 Java 8 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen

Mehr

1 Polymorphie (Vielgestaltigkeit)

1 Polymorphie (Vielgestaltigkeit) 1 Polymorphie (Vielgestaltigkeit) Problem: Unsere Datenstrukturen List, Stack und Queue können einzig und allein int-werte aufnehmen. Wollen wir String-Objekte, andere Arten von Zahlen oder andere Objekttypen

Mehr

Software Engineering Klassendiagramme Einführung

Software Engineering Klassendiagramme Einführung Software Engineering Klassendiagramme Einführung Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Aufgabe Erstellen Sie eine Klasse Person in Java. Jede Person verfügt

Mehr

Themen. Web Service - Clients. Kommunikation zw. Web Services

Themen. Web Service - Clients. Kommunikation zw. Web Services Themen Web Service - Clients Kommunikation zw. Web Services Bisher: Implementierung einer Java Anwendung und Bereitstellung durch Apache Axis unter Apache Tomcat Java2WSDL Erzeugen einer WSDL-Datei zur

Mehr

Java Cheatsheet. Mehrzeiliger Kommentar (beginnt mit /* und endet mit */)

Java Cheatsheet. Mehrzeiliger Kommentar (beginnt mit /* und endet mit */) Good code is its own best documentation. (Steve McConnell) Java Cheatsheet Java Grundlagen Aufbau einer Klasse Name der Klasse public class MeineKlasse { Textdatei MeineKlasse.java (muss dem Namen der

Mehr

Aufgabe 3.1 (Laboraufgabe, CSV-Ein- und Ausgabe)

Aufgabe 3.1 (Laboraufgabe, CSV-Ein- und Ausgabe) Übungen zu Objektorientierte Programmierung in Java PD Dr. Wolfgang Goerigk Sommersemester 2009 Musterlösungen Serie 3 Aufgabe 3.1 (Laboraufgabe, CSV-Ein- und Ausgabe) Eine häufig wiederkehrende Aufgabe

Mehr