[JAVA]Bestand opslaan gaat verkeerd

Pagina: 1
Acties:

  • CrisT
  • Registratie: Maart 2003
  • Laatst online: 16:55
Ik ben bezig met een simpel tekenprogramma, en op dit moment met de klasse die een plaatje moet gaan opslaan (elk vierkant/rondje etc is een appart object). Dit is de code die daarvoor zou moeten zorgen:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 public void schrijf(String naam)
    {
        FileOutputStream fos;
        try {
            fos = new FileOutputStream("naam");
            ObjectOutputStream oos = new ObjectOutputStream(fos);
            for (Object tool: canvas.geefLijst())
            {
                oos.writeObject(tool);
                System.out.println("een object toegevoegd");
            }
            oos.close();
        } catch (FileNotFoundException e) {
            System.out.println("Bestand niet gevonden");
            e.printStackTrace();
        } catch (IOException e) {
            System.out.println("Iets IO-igs niet gelukt...");
            e.printStackTrace();        
        }

Nu gebeurd er HELEMAAL niets... ook geen exceptions...ik krijg wel netjes voor elk object in mn console "een object toegevoegd".

edit: Als ik ipv de gegevens van het fildialog schermpje gewoon een bestandsnaam in de code zet, gaat het wel goed....

edit2: andere code verwijderd, doet er niet echt meer toe...

[ Voor 77% gewijzigd door CrisT op 04-11-2005 14:22 ]

Nederlandse Civilization community DutchCiv.nl


Verwijderd

Wat doet canvas.geefLijst()??? Als gecheckt of dat niet null is? En die 2e lap code hoefde er niet echt bij, dan begint het een beetje op een debug-topic te lijken...

Idd, zijn die tool-objecten wel te serializen? Hier gaat het fout vermoed ik.

Echt waar, wat die 2e lap code hier mee te maken heeft weet ik niet. Daar druk je alleen iets af naar het scherm ipv een file. Wat werkt daar niet aan??

Beetje meer info, mijn glazen bol is helaas kapot...

[ Voor 51% gewijzigd door Verwijderd op 04-11-2005 12:40 ]


  • Nick_S
  • Registratie: Juni 2003
  • Laatst online: 22-04 03:55

Nick_S

++?????++ Out of Cheese Error

Zijn je objecten Serializen?

'Nae King! Nae quin! Nae Laird! Nae master! We willna' be fooled agin!'


  • CrisT
  • Registratie: Maart 2003
  • Laatst online: 16:55
Ze zijn serializable ja, het lukt nu ook om ze op te slaan, ik heb nu ipv de variabele naam gewoon een naam igetikt, dus met die variabele is iets mis...
Verwijderd schreef op vrijdag 04 november 2005 @ 12:38:
....

Echt waar, wat die 2e lap code hier mee te maken heeft weet ik niet. Daar druk je alleen iets af naar het scherm ipv een file. Wat werkt daar niet aan??

Beetje meer info, mijn glazen bol is helaas kapot...
Die andere code is een programma niet door mij geschreven, wat wel zou moeten werken, maar die het bij mij dus ook niet doet, dus ook geen foutmelding bij het saven... dus ik denk dat er iets niet goed gaat met het fileDialog schermpje...maar wat?

[ Voor 66% gewijzigd door CrisT op 04-11-2005 12:47 ]

Nederlandse Civilization community DutchCiv.nl


  • JeroenTheStig
  • Registratie: Mei 2000
  • Laatst online: 16:37
public void schrijf(String naam)
{
FileOutputStream fos;
try {
fos = new FileOutputStream("naam");

Wat doe je hier? Wil je die parameter van methode schrijf nu gebruiken om naartoe te schrijven?
Haal de quotes om naam in de regel

fos = new FileOutputStream("naam");

eens weg..

Verwijderd

CrisT schreef op vrijdag 04 november 2005 @ 12:45:
Ze zijn serializable ja, het lukt nu ook om ze op te slaan, ik heb nu ipv de variabele naam gewoon een naam igetikt, dus met die variabele is iets mis...
een naam??? Wat doet die canvas.geeflijst() nu dan... En als die var fout is, debug dan ff en kijk wat daar in komt te staan...

  • Varienaja
  • Registratie: Februari 2001
  • Laatst online: 14-06-2025

Varienaja

Wie dit leest is gek.

Serializable, bedoelt Nick_S.

edit:
spuit11..

[ Voor 8% gewijzigd door Varienaja op 04-11-2005 12:48 ]

Siditamentis astuentis pactum.


  • CrisT
  • Registratie: Maart 2003
  • Laatst online: 16:55
Boktor schreef op vrijdag 04 november 2005 @ 12:46:
public void schrijf(String naam)
{
FileOutputStream fos;
try {
fos = new FileOutputStream("naam");

Wat doe je hier? Wil je die parameter van methode schrijf nu gebruiken om naartoe te schrijven?
Haal de quotes om naam in de regel

fos = new FileOutputStream("naam");

eens weg..
mmmm 8)7 denk ook dat dat het was......en dat ik daar zo lang mee bezig ben geweest..... 8)

Nederlandse Civilization community DutchCiv.nl


  • JeroenTheStig
  • Registratie: Mei 2000
  • Laatst online: 16:37
CrisT schreef op vrijdag 04 november 2005 @ 12:50:
[...]


mmmm 8)7 denk ook dat dat het was......en dat ik daar zo lang mee bezig ben geweest..... 8)
Als het goed is staat in je working directory wel een outputfiletje, genaamd 'naam' :)

  • Robtimus
  • Registratie: November 2002
  • Laatst online: 21:07

Robtimus

me Robtimus no like you

Probeer anders je outputstream te flushen na het schrijven van een object als er geen file genaamd naam is.

More than meets the eye
There is no I in TEAM... but there is ME
system specs


  • Nick_S
  • Registratie: Juni 2003
  • Laatst online: 22-04 03:55

Nick_S

++?????++ Out of Cheese Error

Varienaja schreef op vrijdag 04 november 2005 @ 12:47:
[...]

Serializable, bedoelt Nick_S.

edit:
spuit11..
Sorry, reageerde iets te snel, want we gingen even een rondje lopen.

'Nae King! Nae quin! Nae Laird! Nae master! We willna' be fooled agin!'

Pagina: 1