Hej Leute,
folgendes Programm tut nicht ganz das was es soll, ich finde gerade den Fehler nicht. Aufgabe dazu sah wie folgt aus:
"Schreiben Sie ein Programm, das eine Textdatei einliest, alle Vorkommnisse der Vokale a, e, i, o und u durch ein a ersetzt und die veränderte Datei im selben Verzeichnis unter einem aussagekräftigen Namen speichert."
(Meine erster Anlauf die Aufgabe zu lösen mag nicht der effizienteste sein, soll hier aber nicht das Thema sein. )
Die Datei wird wie gewünscht erstellt enthält jedoch den unveränderten Text der original Datei.
Hier rufe ich die Methode auf:
Ich konnte den Fehler auf den zweiten try-Block eingrenzen, komme jedoch nicht weiter.
folgendes Programm tut nicht ganz das was es soll, ich finde gerade den Fehler nicht. Aufgabe dazu sah wie folgt aus:
"Schreiben Sie ein Programm, das eine Textdatei einliest, alle Vorkommnisse der Vokale a, e, i, o und u durch ein a ersetzt und die veränderte Datei im selben Verzeichnis unter einem aussagekräftigen Namen speichert."
(Meine erster Anlauf die Aufgabe zu lösen mag nicht der effizienteste sein, soll hier aber nicht das Thema sein. )
Die Datei wird wie gewünscht erstellt enthält jedoch den unveränderten Text der original Datei.
Java:
import java.io.*;
import java.util.*;
public class Datei {
public boolean verarbeiteDatei(File eingabe, File ausgabe) throws IOException {
boolean ergebnis;
List<String> text = new LinkedList<String>();
if (eingabe.isFile()) {
try {
FileReader fileReader = new FileReader(eingabe);
BufferedReader bufferedReader = new BufferedReader(fileReader);
for (String zeile = bufferedReader.readLine(); zeile != null; zeile = bufferedReader.readLine()) {
text.add(zeile);
}
bufferedReader.close();
fileReader.close();
} catch (IOException ex) {
ex.printStackTrace();
ergebnis = false;
}
for (String textzeilen: text) {
textzeilen = textzeilen.replace('e','a');
textzeilen = textzeilen.replace('i','a');
textzeilen = textzeilen.replace('o','a');
textzeilen = textzeilen.replace('u','a');
System.out.println(textzeilen); //Debug (hier wird bereits der veränderte Text richtig ausgegeben
}
try {
FileWriter fileWriter = new FileWriter(ausgabe);
BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
for (String textzeile: text) {
bufferedWriter.write(textzeile);
bufferedWriter.newLine();
}
bufferedWriter.close();
fileWriter.close();
ergebnis = true;
} catch (IOException ex) {
ex.printStackTrace();
ergebnis = false;
}
} else
ergebnis = false;
return ergebnis;
}
}
Hier rufe ich die Methode auf:
Java:
import java.io.File;
import java.io.IOException;
public class Hauptklasse {
public static void main(String[] args) throws IOException {
String sep = File.separator;
String dateipfadeingabe = "C:"+ sep +"TestVerzeichnis"+ sep +"Text Datei.txt";
String dateipfadausgabe = "C:"+ sep +"TestVerzeichnis"+ sep +"Text Datei Ausgabe.txt";
File eingabe = new File (dateipfadeingabe);
File ausgabe = new File (dateipfadausgabe);
Datei datei = new Datei();
System.out.println(datei.verarbeiteDatei(eingabe, ausgabe));
}
}
Ich konnte den Fehler auf den zweiten try-Block eingrenzen, komme jedoch nicht weiter.