Feb 27

Analog zum BufferedWriter wrappt auch der BufferedReader – diesmal den FileReader.

Nochmal zum Vergleich; beim FileReader sah dieAnwendung so aus:

FileReader datei_lesen=new FileReader(datei); // Anlage eines Objektes der Klasse FileReader
char in [ ] = new char [50]; // Anlage eines Arrays um Zeichen einzulesen
int size = datei_lesen.read(in); // Speichern der Zeichenanzahl in einem primitiven Datentyp
System.out.println(“size: “+size); // Ausgabe: 47
for (char c : in)
System.out.print(c); // Buchstabenweise Ausgabe der aus der Datei gelesenen Werte
datei_lesen.close(); // Schließung des FileWriters

Im Gegensatz dazu sieht die Anwendung des BufferedReaders so aus:

BufferedReader datei_lesen =new BufferedReader (new FileReader(datei)); // Anlage des Objektes BufferedReader mit gleichzeitigem Wrappen der Klasse FileReader
String ausw;
while ((ausw = datei_lesen.readLine()) != null) // Auslesen der Datei
System.out.println(ausw); // Zeilenweise  (nicht zeichenweise wie bei FileReader) der Datei
datei_lesen.close(); // Schließung des BufferedReaders

Tagged with:
Feb 25

Die Klasse BufferedWriter wrappt FileWriter.

Anstatt

FileWriter datei_schreiben = new FileWriter(datei);

in der Klasse FileWriter
wird der BufferedWriter mit

Writer datei_schreiben = new BufferedWriter(new FileWriter(datei));

definiert

Tagged with:
Feb 23

Um eine Datei lesen zu können, wird z.B. die Klasse FileReader benutzt:

import java.io.*; // zuständlige Klasse

class Angestellter{

public static void main(String args[]) {

File datei = new File(“Test.txt”); // Dateiname ist angelegt, Datei noch nicht

System.out.println(datei.exists()); // Da Datei noch nicht existiert wird false zurückgegeben

try{ //Anlage einer neuen Datei muss aufgrund des Risikos für das Programm in einen try/catch-Block gepackt werden, ansonsten ergibt sich ein Compilerfehler

System.out.println(datei.createNewFile()); // Datei wird erfolgreich angelegt, true wird ausgegeben

} catch (IOException e){

System.out.println(“Exception geworfen”);

}

System.out.println(datei.exists()); // Datei existiert nun, true wird ausgegeben

try{ // Auch hierfür ist der try/catch-Block notwendig, auch hier im Fehlerfall eine IOException geworfen wird

FileWriter datei_schreiben = new FileWriter(datei); // Anlage eines Objektes der Klasse FileWriter
datei_schreiben.write(“Dies ist die erste Zeile\n…und dies die zweite”);
//Schreiben in die Datei
datei_schreiben.flush();

datei_schreiben.close();
// Schließung des FileWriters

}

catch (IOException e){ … }

try{// Auch hierfür ist der try/catch-Block notwendig, da auch hier im Fehlerfall eine IOException geworfen wird. Ein try/catch-Block für den hier vorgestellten Code ist genauso ok wie  einzelne.

FileReader datei_lesen=new FileReader(datei); // Anlage eines Objektes der Klasse FileReader

char in [ ] = new char [50]; // Anlage eines Arrays um Zeichen einzulesen

int size = datei_lesen.read(in); // Speichern der Zeichenanzahl in einem primitiven Datentyp

System.out.println(“size: “+size); // Ausgabe: 47

for (char c : in)

System.out.print(c); // Buchstabenweise Ausgabe der aus der Datei gelesenen Werte

datei_lesen.close(); // Schließung des FileWriters

}

catch (IOException e){ … }

}

Tagged with:
Feb 22

Wie ist der Output des folgenden Codes?

interface Familienstand {void getMessage();}
interface Berufserfahrung { void getMessage(); }

class Angestellter implements Familienstand, Berufserfahrung {

public void getMessage(){ System.out.print(“Hello!”); }
public static void main(String args[]) {

Angestellter a = new Angestellter();
Familienstand b = new Angestellter();
Berufserfahrung c = new Angestellter();

a.getMessage();
b.getMessage();
c.getMessage();

}

}

Antwort/ answer
Tagged with:
Feb 21

Um in eine Datei schreiben zu können, wird z.B. die Klasse FileWriter benutzt:

import java.io.*; // zuständige Klasse

class Angestellter{

public static void main(String args[]) {

File datei = new File(“Test.txt”); // Dateiname ist angelegt, Datei noch nicht

System.out.println(datei.exists()); // Da Datei noch nicht existiert wird false zurückgegeben

try{ //Anlage einer neuen Datei muss aufgrund des Risikos für das Programm in einen try/catch-Block gepackt werden, ansonsten ergibt sich ein Compilerfehler

System.out.println(datei.createNewFile()); // Datei wird erfolgreich angelegt, true wird ausgegeben

} catch (IOException e){

System.out.println(“Exception geworfen”);

}

System.out.println(datei.exists()); // Datei existiert nun, true wird ausgegeben

try{ // Auch hierfür ist der try/catch-Block notwendig, auch hier im Fehlerfall eine IOException geworfen wird

FileWriter datei_schreiben = new FileWriter(datei); // Anlage eines Objektes der Klasse FileWriter
datei_schreiben.write(“Dies ist die erste Zeile\n…und dies die zweite”); //Schreiben in die Datei
datei_schreiben.flush();
datei_schreiben.close(); // Schließung des FileWriters

}

catch (IOException e){ …  }

}

Tagged with:
Feb 19

Heute steigen wir etwas tiefer in die File-Klasse ein:
import java.io.*; // zuständlige Klasse

class Angestellter{

public static void main(String args[]) {

File datei = new File(“Test.txt”); // Dateiname ist angelegt, Datei noch nicht

System.out.println(datei.exists()); // Da Datei noch nicht existiert wird false zurückgegeben

try{ //Anlage einer neuen Datei muss aufgrund des Risikos für das Programm in einen try/catch-Block gepackt werden, ansonsten ergibt sich ein Compilerfehler

System.out.println(datei.createNewFile()); // Datei wird erfolgreich angelegt, true wird ausgegeben

} catch (IOException e){

System.out.println(“Exception geworfen”);

}

System.out.println(datei.exists()); // Datei existiert nun, true wird ausgegeben

}

Würden wir ein zweites Mal dieses Programm laufen lassen wäre die Ausgabe

true // Datei existiert schon
false // Datei kann kein zweites Mal angelegt werden
true // Datei existiert immer noch

Tagged with:
Feb 17

Ok, was eine Datei ist brauche ich nicht mehr zu erklären :) Vielmehr geht es die nächste Zeit um das Lesen und schreiben in solche und heute um die Klassen, die hiermit verbunden sind:

Klasse File
mit der File-Klasse werden keine Daten gelesen oder geschrieben, sondern neue Dateien angelegt, Dateien gesucht, gelöscht, Ordner angelegt und mit Pfaden gearbeitet

Klasse FileReader
Wie der Name schon sagt, werden hier Dateien gelesen. Da die Methoden auf einem ziemlich niedrichen Niveau sind, werden FileReader üblicherweise von höherwertigen Objekten wie BufferedReader gewrappt

Klasse Buffered Reader
Diese Klasse kann relativ große Datenmengen auf einmal aus einer Datei lesen und in einem Buffer speichern. Wenn nach einer neuen Zeile der Datei gefragt wird, wird diese aus dem Buffer heraus ausgegeben was schneller als der Dateizugriff ist.

Klasse FileWriter
Mit dieser Klasse werden Dateien in eine Datei geschrieben. Analog zum FileReader sind auch hier die Methoden auf einem ziemlich niedrigen Niveau, so dass FileWriter üblicherweise von höherwertigen Objekten wie BufferedWriter gewrappt werden

Klasse BufferedWriter
Diese Klasse (bzw deren Methoden) kann relativ große Datenmengen auf einmal in eine Datei speichern, so dass die Anzahl der langsamen File-Operationen verringert und das Programm insgesamt schneller wird

Klasse PrintWriter
Da bei dieser Klasse bereits bekannte Methoden wie z.B. printf(), append(), … verwendet werden können, ist diese Klasse nicht nur sehr mächtig, sondern auch sehr bequem in der Handhabung.

So, das war jetzt der erste Einblick, ins Detail gehen wir dann die nächsten Tage :)

Tagged with:
Feb 15

genau wie bei Strings ist diese Methode relativ nutzlos, könnte aber zur verwirrung im SCJP zum Einsatz kommen:

StringBuffer a = new StringBuffer(“Beruf”);
a.toString();
System.out.println(a);
// Ausgabe: Beruf

Tagged with:
Feb 13

mit dieser Methode wird der String “umgedreht”, das heisst in umgekehrter Reihenfolge gespeichert und ausgegeben:

StringBuffer a = new StringBuffer(“Beruf”);
a.reverse();
System.out.println(a);
// Ausgabe: fureB

Tagged with:
Feb 11

Mit der insert-Methode wird nach einer bestimmten Position ein String eingefügt:

StringBuffer a = new StringBuffer(“Beruf”);
a.insert(2,”-”);
System.out.println(a);
// Ausgabe:Be-ruf

Tagged with:
preload preload preload
http://www.wikio.de Blog Top Liste - by TopBlogs.de Blogverzeichnis - Blog Verzeichnis bloggerei.de Bloggeramt.de Software
Webbhotell Top Blogs