T
Tonic
Gast
Hi,
ich will ein Programm schreiben, das eine Datei ausliest und es ermöglicht diese an bestimmten Stellen zu editieren.
Ich hab damit aber verschiedene Probleme. Einmal ist das Problem, das wenn ich sowohl den FileReader als auch den FileWriter in einer einzigen Klasse auf eine Datei verweise, funktioniert das schreiben nicht. Zum anderen brauche ich eine Möglichkeit an einer bestimmten Stelle eine Zeile zu editieren.
Mein bisheriger Code sieht ziemlich schlimm aus, aber die beiden oberen Sachen sind meine Hauptprobleme.
Mit anderen Möglichkeiten wie die Frage zu editieren hab ich nochnicht angefangen, aber das läuft dann ja im Prinzip genau gleich ab.
Die Datei auf die ich verweise beginnt sieht so aus:
Frage1
Welches Land heißt übersetzt 'Dorf'?
a)Mexico b)Kanada c)Iran ?
b
usw
ich will ein Programm schreiben, das eine Datei ausliest und es ermöglicht diese an bestimmten Stellen zu editieren.
Ich hab damit aber verschiedene Probleme. Einmal ist das Problem, das wenn ich sowohl den FileReader als auch den FileWriter in einer einzigen Klasse auf eine Datei verweise, funktioniert das schreiben nicht. Zum anderen brauche ich eine Möglichkeit an einer bestimmten Stelle eine Zeile zu editieren.
Mein bisheriger Code sieht ziemlich schlimm aus, aber die beiden oberen Sachen sind meine Hauptprobleme.
Mit anderen Möglichkeiten wie die Frage zu editieren hab ich nochnicht angefangen, aber das läuft dann ja im Prinzip genau gleich ab.
Die Datei auf die ich verweise beginnt sieht so aus:
Frage1
Welches Land heißt übersetzt 'Dorf'?
a)Mexico b)Kanada c)Iran ?
b
usw
Code:
import java.io.*;
class test
{
public static void main ( String[] args ) throws IOException
{
LineNumberReader zeilennummer;
String zeile;
//aktuelle Datei ausgeben
System.out.println("So sieht die Datei im Moment aus:");
try {
zeilennummer = new LineNumberReader(
new FileReader("Fragen.txt"));
while ((zeile = zeilennummer.readLine()) != null)
{
System.out.print(zeilennummer.getLineNumber() + ": ");
System.out.println(zeile);
}
System.out.println("");
System.out.println("Was wollen sie bearbeiten?(a=Frage b=Antwortmöglichkeiten c=Antwort)");
BufferedWriter writer= new BufferedWriter(new FileWriter("Fragen2.txt",true));
String bearbeiten2 = Einlesen.readString();
String bearbeiten =bearbeiten2.toLowerCase();
if (bearbeiten.equals("a"))
{
System.out.println("Welche Frage wollen sie bearbeiten? (bitte zb Frage1 eingeben)");
String frage = Einlesen.readString();
String thisLine;
try {
BufferedReader in = new BufferedReader (
new FileReader ("Fragen.txt"));
try {
while( (thisLine = in.readLine()) != null )
{
if (thisLine.equals(frage))
{
System.out.println("Wie soll die neue Frage heißen?");
String frageneingabe =Einlesen.readString();
//hier muss dann irgendwas hin damit ich die Zeilen editieren kann
}
}
in.close();
} catch (IOException e) {
System.out.println("Read error " + e);
}
}
catch (IOException e) {
System.out.println("Open error " + e);
}
}
writer.close();
zeilennummer.close();
} catch (IOException e) {
System.out.println("Fehler beim Lesen der Datei");
}
}
}