G
Guest
Gast
Hallo,
in der Schule haben wir eine Klasse programmiert, die einfach eine Textdatei mit Inhalt auf die Festplatte schreibt. Nun wollte ich dieses Programm so "verbessern", dass man Dateinamen und Inhalt per Eingabe vom Nutzer festlegt. Funzt aber leider nicht. Die Datei wird einfach nicht erstellt. Lege ich Inhalt und Dateiname im Code fest, funktioniert alles. Warum aber nicht, wenn die Eingaben vom User gemacht werden sollen? Die Fehler muss ganz banal sein, da auch unser Tewi-Lehrer ewig mit mir rumprobiert hat. Die *.txt Datei wird im selben Verzeichnis erstellt werden, aus der das Programm gestartet wird.
Code:
in der Schule haben wir eine Klasse programmiert, die einfach eine Textdatei mit Inhalt auf die Festplatte schreibt. Nun wollte ich dieses Programm so "verbessern", dass man Dateinamen und Inhalt per Eingabe vom Nutzer festlegt. Funzt aber leider nicht. Die Datei wird einfach nicht erstellt. Lege ich Inhalt und Dateiname im Code fest, funktioniert alles. Warum aber nicht, wenn die Eingaben vom User gemacht werden sollen? Die Fehler muss ganz banal sein, da auch unser Tewi-Lehrer ewig mit mir rumprobiert hat. Die *.txt Datei wird im selben Verzeichnis erstellt werden, aus der das Programm gestartet wird.
Code:
Code:
import java.io.*;
public class Stream{
public Stream(){
}
//Input-Methode
public String stringInput(){
StringBuffer temp = new StringBuffer();
InputStreamReader ir = new InputStreamReader(System.in);
try {
do {
temp.append((char) ir.read());
} while ( ir.ready());
}
catch (IOException e) {
}
return temp.toString();
}
public void dateiSchreiben(String datei, String inhalt){
File fi = new File(datei);
try{
//Falls Datei existiert, lösche die Datei und erstelle Neue.
if ( fi.exists() ) {
fi.delete();
fi.createNewFile();
}
//Inhalt in Date schreiben.
FileWriter fw = new FileWriter(fi);
fw.write(inhalt);
fw.close();
}
catch(IOException e){
}
}
public static void main (String args[]){
String datei; //Dateiname
String inhalt; //Inhalt der Datei
Stream se = new Stream();
System.out.println("Dateiname im Format xyz.txt eingeben: ");
datei = se.stringInput();
System.out.println(datei); //Nur zur Überwachung
System.out.println("Inhalt der Datei eingeben: ");
inhalt = se.stringInput();
System.out.println(inhalt); //Nur zur Überwachung
se.dateiSchreiben(datei, inhalt);
}
}