Hallo zusammen,
ich gehe gerade eine Aufgabe durch, bei der ich absolut nicht weiterkomme.
Meine Aufgabe ist es, eine Medienverwaltung zu bauen. Ich bin soweit, dass ich bilder wie auch audio aufnehmen kann, diese werden in einer ArrayList gespeichert. Ich kann sie auf der Konsole ausgeben ect.
Mein Problem besteht nun darin, dass ich diese Medienliste in einer Textdatei speichern muss.
Dafür habe ich folgende Methode geschrieben:
Es funktioniert soweit, dass er das Programm ausführt. Nun füge ich einmal eine audio dazu, die speichert er, ich kann die auf der Konsole ausgeben und wenn ich dann zu dieser Methode komme, erstellt der die Textdatei auf dem Desktop, hat ihr den Namen gegeben, den ich angegeben habe und beendet das Programm.
In der Textdatei steht dann folgendes: medienverwaltung.Audio@47089e5f
Ich vermute, dass ich nur die Referenz, nicht aber genau das übergebe, was ich wirklich reinschreiben möchte.
Laut Aufgabenstellung muss ich folgende Methoden nutzen (abhängig ob Audio oder Bild) und damit in die Textdatei schreiben:
Im Debuggmodus konnte ich auch erkennen, dass er darauf zugreift, während er in der while-Schleife ist.
Könnte mir einer bitte sagen, woran ich nun genau hänge? Oder werden mehr Infos benötigt?
Vielen Dank im voraus!
LG Mikanee
ich gehe gerade eine Aufgabe durch, bei der ich absolut nicht weiterkomme.
Meine Aufgabe ist es, eine Medienverwaltung zu bauen. Ich bin soweit, dass ich bilder wie auch audio aufnehmen kann, diese werden in einer ArrayList gespeichert. Ich kann sie auf der Konsole ausgeben ect.
Mein Problem besteht nun darin, dass ich diese Medienliste in einer Textdatei speichern muss.
Dafür habe ich folgende Methode geschrieben:
Java:
//class Medienverwaltung
public void medienListe(){
boolean input = false;
File f = null;
PrintWriter pW = null;
try{
String name = JOptionPane.showInputDialog(null, "Bitte geben Sie den Dateinamen an");
f = new File("C://Users//Merisha//Desktop//" + name +".txt");
input = f.createNewFile();
pW = new PrintWriter(new BufferedWriter(new FileWriter(f)));
Iterator<Medium> iter = liste.iterator();
while(iter.hasNext()){
Object o = iter.next();
pW.println(o);
}
}catch(Exception e){
e.printStackTrace();
}finally{
if(pW != null) pW.close();
}
}
Es funktioniert soweit, dass er das Programm ausführt. Nun füge ich einmal eine audio dazu, die speichert er, ich kann die auf der Konsole ausgeben und wenn ich dann zu dieser Methode komme, erstellt der die Textdatei auf dem Desktop, hat ihr den Namen gegeben, den ich angegeben habe und beendet das Programm.
In der Textdatei steht dann folgendes: medienverwaltung.Audio@47089e5f
Ich vermute, dass ich nur die Referenz, nicht aber genau das übergebe, was ich wirklich reinschreiben möchte.
Laut Aufgabenstellung muss ich folgende Methoden nutzen (abhängig ob Audio oder Bild) und damit in die Textdatei schreiben:
Java:
//class Audio
void druckeDaten(OutputStream stream) {
System.out.printf("ID = %d '%s' von %s aus %d. Spieldauer: %d\n", getID(), getTitel(), getInterpret(), getIntJahr(), getDauer());
}
//class Bild
void druckeDaten(OutputStream stream) {
System.out.printf("ID = %d '%s', aufgenommen im Jahr %d in %s.\n", getID(), getTitel(), getIntJahr(), getOrt());
}
Im Debuggmodus konnte ich auch erkennen, dass er darauf zugreift, während er in der while-Schleife ist.
Könnte mir einer bitte sagen, woran ich nun genau hänge? Oder werden mehr Infos benötigt?
Vielen Dank im voraus!
LG Mikanee