ObjectOutputStream verzeichnis wählen

blumenpeter

Aktives Mitglied
Hi,

wie kann man beim "ObjectOutputStream" das Verzeichnis auswählen, in das man die datei speichern will?

Java:
ObjectOutputStream os = new ObjectOutputStream(new FileOutputStream(filename));
                                for(int i=0; i<db.disk.size(); i++)
                                {
                                        os.writeObject(db.disk);
                                        
                                }

                                os.close();
                                text.append("\t|| Die Liste wurde im Hauptverzeichniss gespeichert ||");

danke schonmal!
gruß
 

ARadauer

Top Contributor
zb vorher eine Datei erstellen....
Java:
File f = new File("verzeichnis","datei.txt");
     ... ....new FileOutputStream(f);
 

blumenpeter

Aktives Mitglied
sry, habe das ein wenig dumm geschrieben..

/sry fals ich das das falsche Forum ist, dachte aber zuerst es wäre "nur" die verzeichnisfrage

also:

ich würde gerne folgendes machen wollen:
ich möchste eine Textdatei anlegen, die ich speichern kann. Dies funktioniert bereits, aber leider nur im Hauptverzeichnis von meinem Projekt (NetBeans). ich würde gerne per "JFileChooser" ein Verzeichnis wählen, in welches ich dann die o.g. Datei speicehrn kann + Namen angeben kann.

Ich hatte eigentlich eine Idee, aber leider kann ich die nicht umsetzten, da mir das nötige Wissen fehlt (noch :p).

Java:
public void fileChecker(){

                JFileChooser chooser = new JFileChooser();
                // Note: source for ExampleFileFilter can be found in FileChooserDemo,
                // under the demo/jfc directory in the JDK.
                int returnVal = chooser.showOpenDialog(panel);
                if(returnVal == JFileChooser.APPROVE_OPTION) {
                text.append("ie haben folgende Datei gewählt:\n " +
                chooser.getSelectedFile().getName());

                filename = chooser.getSelectedFile().getName();
                }

        }
Java:
//Button 7 "Speichern" -----------------------------------------
                try {
                        if (ev.getSource() == b7){

                                fileChecker();

                                try{
                                ObjectOutputStream os = new ObjectOutputStream(new FileOutputStream("liste.ser"));
                                for(int i=0; i<db.disk.size(); i++)
                                {
                                        os.writeObject(db.disk);
                                        //os.writeObject(db.disk.get(i).toString());
                                }

                                os.close();
                                text.append("\t|| Die Liste wurde im Hauptverzeichniss gespeichert ||");

                                }
                                catch (Exception ex){
                                        System.out.println("\n\t\t|| Datei konnte nicht gespeichert werden! ||\n"+ex);
                                }
                                
                                //text.append("\nButton \"Speichern\" pressed\n");
                        }

                } catch (Exception e){

                        text.append("Fehler im Code!\n" + e);
                }

                //Button 8 "Laden" ---------------------------------------------
                try {
                        if (ev.getSource() == b8){

                                try{
//                                        for(int i=0; i<db.disk.size(); i++){
//
//                                                db.disk.remove(i);
//                                        }
                                        db.disk.clear();

                                        ObjectInputStream is = new ObjectInputStream(new FileInputStream("dome_arrayList.ser"));
                                        db.disk = (ArrayList<Disk>) is.readObject();
                                        text.append("\t## Die Liste wurde geladen ##");
                                        is.close();
                                        if(db.disk.size() <1){
                                                text.append("Leider ist die Datei leer!\n");
                                        }
                                        else{

                                        }
                                }
                                catch(Exception e){
                                        text.append("\n\t\t## Datei konnte nicht geladen werden! ##\n"+e);
                                }
                                //text.append("\nButton \"Laden\" pressed\n");
                        }

                } catch (Exception e){

                        text.append("Fehler im Code!\n" + e);
                }
 

Michael...

Top Contributor
mit chooser.getSelectedFile() hast Du die Datei/ das Verzeichnis ja schon, wenn die Datei in die Du schreiben willst noch nicht exisitert zu erst anlegen mit create??? und anschliessend diese Datei dem OutputStream übergeben.
 

blumenpeter

Aktives Mitglied
hi,

also habe es bisher wie folgt gemacht:

Java:
if (ev.getSource() == b7){

                                fileChecker();

                                File o = new File(chooser.getSelectedFile(),filename);

                                try{
                                ObjectOutputStream os = new ObjectOutputStream(new FileOutputStream(o));
                                for(int i=0; i<db.disk.size(); i++)
                                {
                                        os.writeObject(db.disk);
                                        //os.writeObject(db.disk.get(i).toString());
                                }

                                os.close();
                                text.append("\t|| Die Liste wurde im Hauptverzeichniss gespeichert ||");

                                }
                                catch (Exception ex){
                                        System.out.println("\n\t\t|| Datei konnte nicht gespeichert werden! ||\n"+ex);
                                }
                                
                                //text.append("\nButton \"Speichern\" pressed\n");
                        }

Das Problem ist, dass es dies NICHT speichern kann, da der Pfad den ich angeben folgender ist:
"C:\Test.ser\Test.ser"

also holt er mir nicht nur den Pfad sonder auch gleich die Datei mit dem
Code:
getSelectedFile
..
wie kann ich dieses denn rausfiltern?
 

blumenpeter

Aktives Mitglied
sry für doppelpost!!

also nochmal ^^

speichern kann ich jetzt!, ich habe einfach folgendes gemacht:

[Java]ObjectInputStream is = new ObjectInputStream(new FileInputStream(chooser.getSelectedFile()));[/Java]

diese datei knallt er mir dahin, wo ich möchte (per auswahl halt :p)

aber beim Laden will er nicht so recht!


Wenn ich die Datei zum Laden auswähle, sagt mir mein Programm "Ja, Liste geladen!", aber wenn ich dann die Inhalte betrachten will, sagt er mir das die Liste LEER ist -.^

Java:
if (ev.getSource() == b8){

                                try{
//                                        for(int i=0; i<db.disk.size(); i++){
//
//                                                db.disk.remove(i);
//                                        }
                                        db.disk.clear();

                                        fileChecker();
                                        //File i = new File(chooser.getSelectedFile(),filename);

                                        ObjectInputStream is = new ObjectInputStream(new FileInputStream(chooser.getSelectedFile()));
                                        db.disk = (ArrayList<Disk>) is.readObject();
                                        text.append("\t## Die Liste wurde geladen ##");
                                        is.close();
                                        if(db.disk.size() <1){
                                                text.append("Leider ist die Datei leer!\n");
                                        }
                                        else{

                                        }
                                }
 

Michael...

Top Contributor
getSelectedFile() liefert Dir ja bereits ein File Objekt - brauchst also kein neues erstellen.
Java:
File file = chooser.getSelectedFile();
if (!file.exists())
	file.createNewFile();
...
 

Firestorm87

Bekanntes Mitglied
Das Problem ist, dass es dies NICHT speichern kann, da der Pfad den ich angeben folgender ist:
"C:\Test.ser\Test.ser"

also holt er mir nicht nur den Pfad sonder auch gleich die Datei mit dem
Code:
getSelectedFile
..
wie kann ich dieses denn rausfiltern?

Java:
getSelectedFile.getParent();
sollte dir dann ""C:\Test.ser" liefern....

Aber man kann alternativ auch nur Ordner im FileChooser auswählen lassen
Java:
JFileChooser chooser = new JFileChooser();
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
 

blumenpeter

Aktives Mitglied
Problem hat sich gerade ebend gelöst :bloed:

mein Code stimmt doch soweit, hatte aber leider nen zahlendrehe in einer anderen Methode, sodass eine If-Funktion immer mit dem "else" rausrückte und so die "listeZeigen()" nicht aufgerufen wurde ...


man man man

gruß
Blumenpeter
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Input/Output ObjectOutputStream - Problem Allgemeine Java-Themen 7
E Socket Dynamische Klasse von ObjectOutputStream lesen. Allgemeine Java-Themen 8
Seikuassi Input/Output ObjectOutputStream putFields-Problem Allgemeine Java-Themen 2
P ObjectOutputStream oder ObjectInputStream fehlerhaft? Allgemeine Java-Themen 7
G ObjectOutputStream Allgemeine Java-Themen 15
S ObjectOutputStream / objekte anhängen Allgemeine Java-Themen 2
T ObjectOutputStream#writeObject() zu langsam. Allgemeine Java-Themen 13
S ObjectOutputStream Allgemeine Java-Themen 12
R ObjectOutputStream Allgemeine Java-Themen 5
T ObjectOutputStream => Socket versenden Allgemeine Java-Themen 2
S ObjectOutputStream Allgemeine Java-Themen 2
U ObjectOutputStream Allgemeine Java-Themen 14
S Verzeichnis schreibzugriffe erlaubt unabhängig von ACL und Posix Allgemeine Java-Themen 11
T Geeignetes Verzeichnis Allgemeine Java-Themen 5
P Wofür ist das Verzeichnis $HOME/.oracle_jre_usage? Allgemeine Java-Themen 3
M Dateien aus einem Verzeichnis auf einem Server auflisten Allgemeine Java-Themen 5
K NetBeans Ordner bei 'Clean&Build' automatisch in dist Verzeichnis kopieren Allgemeine Java-Themen 0
C Verzeichnis ins JMenu einlesen Allgemeine Java-Themen 2
A Class Datei aus Verzeichnis über URLClassLoader laden Allgemeine Java-Themen 2
C Umgebungsvariable Java-Datei in anderem Verzeichnis ausführen Allgemeine Java-Themen 2
K [Refactoring] ClassLoader Verzeichnis durchsuchen lassen Allgemeine Java-Themen 7
R Welches User-Verzeichnis wählen für Configurationsdateien - Windows Allgemeine Java-Themen 2
R Änderungen in einem Verzeichnis beobachten - Windows Allgemeine Java-Themen 3
S Aus executable jar Verzeichnis erstellen Allgemeine Java-Themen 8
reibi Leeres Verzeichnis in ein Zipfile einfügen Allgemeine Java-Themen 12
reibi Schreibrechte auf ein Verzeichnis Allgemeine Java-Themen 3
G Log4J Verzeichnis der Log-Datei konfigurieren Allgemeine Java-Themen 8
A Drucken ändert aktuelles Verzeichnis Allgemeine Java-Themen 2
reibi Aktuelles Verzeichnis in den Klassenpfad nehmen Allgemeine Java-Themen 9
T Eclipse Dateien einzeln aus einem Verzeichnis laden! Allgemeine Java-Themen 6
Benji0815 Verzeichnis wie im Windows Explorer in einem JTree anzeigen Allgemeine Java-Themen 6
L Applet Verzeichnis lesen Allgemeine Java-Themen 3
B Verzeichnis durchsuchen geschwindigkeit optimieren Allgemeine Java-Themen 6
B in welchem verzeichnis liegen alle installierten klassen? Allgemeine Java-Themen 6
G Klassen aus Verzeichnis laden Allgemeine Java-Themen 13
S Aktuelles Verzeichnis - CMD/Kommandozeilenproblem Allgemeine Java-Themen 9
G Zwischen Datei und Verzeichnis unterscheiden. Allgemeine Java-Themen 11
C Velocity liest template-Dateien nicht aus einem Verzeichnis Allgemeine Java-Themen 3
heart_disease Verzeichnis-Probleme mit ZIP Allgemeine Java-Themen 4
M Verzeichnis durchlaufen und Dateien umbennen Allgemeine Java-Themen 2
P Verzeichnis in JAR-Datei durchgehen Allgemeine Java-Themen 2
G Dateien und Verzeichnisse in einem Verzeichnis zählen Allgemeine Java-Themen 9
W Verzeichnis für Benutzerfiles Allgemeine Java-Themen 7
S Ist File ein root-Verzeichnis? Allgemeine Java-Themen 2
J Herangehensweise: FTP-Transfer von Verzeichnis Allgemeine Java-Themen 8
G Java Klasse in einem anderen Verzeichnis aufrufen Allgemeine Java-Themen 3
H mit javac Verzeichnis kompilieren Allgemeine Java-Themen 2
E Existierendes Verzeichnis nicht gefunden Allgemeine Java-Themen 4
M Verzeichnis auslesen - Fehler in isDirectory()? Allgemeine Java-Themen 4
F Verzeichnis, in dem sich die ausführende jar Datei befindet Allgemeine Java-Themen 9
K Verzeichnis rekursiv aus JAR-Datei extrahieren Allgemeine Java-Themen 6
O Ein Verzeichnis aus der Root ablesen/Dateitypen registrieren Allgemeine Java-Themen 5
P Verzeichnis auwählen Allgemeine Java-Themen 2
S Starten einer Anwendung von einem anderen Verzeichnis Allgemeine Java-Themen 3
P Mit getResource() ein ganzes Verzeichnis laden Allgemeine Java-Themen 5
T Verzeichnis der Klasse Allgemeine Java-Themen 7
J Verzeichnis aus meinem JAR auslesen und abspeichern. Allgemeine Java-Themen 2
G Verzeichnis löschen? Allgemeine Java-Themen 3
W Aktuelles Verzeichnis rausfinden Allgemeine Java-Themen 13
S Probleme mit dem Compilieren von Dateien in Verzeichnis Allgemeine Java-Themen 4
G Dateien zählen im Verzeichnis Allgemeine Java-Themen 11
G aktuelles Verzeichnis Allgemeine Java-Themen 2
A Verzeichnis auflisten - auch innerhalb eines Jars Allgemeine Java-Themen 6
G Verzeichnis überwachen Allgemeine Java-Themen 13
S Temporäres Verzeichnis anlegen? Allgemeine Java-Themen 4
G Java Runtime Verzeichnis ermitteln Allgemeine Java-Themen 3
S dringend-verzeichnis von festplatte einlesen Allgemeine Java-Themen 9
P Dateinamen testen? Schreibrechte auf Verzeichnis testen? Allgemeine Java-Themen 8
M Verzeichnis verschieben? Allgemeine Java-Themen 2
G Bestimmte Dateien aus Verzeichnis löschen Allgemeine Java-Themen 5
S Programm starten mit Runtime aktuelles Verzeichnis wechseln Allgemeine Java-Themen 7
G Datei aus Ordner wählen, ohne den Dateinamen im Pfad angeben zu müssen Allgemeine Java-Themen 4
Zrebna Quicksort-Algorithmus - zufälliges Pivot wählen Allgemeine Java-Themen 6
K Java FX Zu startenden FXML-Controller per Parameter wählen Allgemeine Java-Themen 2
L Bildauschnitt mit Rechteck wählen Allgemeine Java-Themen 0
E POI-InputStream selber wählen Allgemeine Java-Themen 2
M Druckerschacht wählen Allgemeine Java-Themen 10
I Verschlüsselung mit Pwd. - User soll Algorithmus wählen Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben