Avatar billede saje Nybegynder
01. december 2003 - 12:14 Der er 15 kommentarer og
1 løsning

gem på fil -fortsat

Hej Arne:)
jeg har kikket på din kode, og det er lige hvad jeg har brug for. der er dog en ting som jeg har problemer med, og det er at jeg har objekter i mit array. Du har en metode der hedder getA() og getB(), men det er jo primitive typer. Min metode skal jo returnere et objekt, hvordan gør man det??

public Object getBogAnnonce(){}???? Det virker ikke:(
Avatar billede arne_v Ekspert
01. december 2003 - 12:26 #1
Når du skriver ud som tekst bliver du nødt til at gemme simple data typer
og hente simple data typer igen.

Men du kan jo konstruere dit objekt udfra simple data typer.

der var jo også en klasse i mit eksempel.
Avatar billede arne_v Ekspert
01. december 2003 - 12:30 #2
Og for dem der mangler referancen:
  http://www.eksperten.dk/spm/434137
Avatar billede saje Nybegynder
01. december 2003 - 12:32 #3
Mit objekt har ni attributter, 5 strenge, 2 int, 1 double og 1 Date! Skal alle disse så parses???
Avatar billede arne_v Ekspert
01. december 2003 - 12:45 #4
Ja.
Avatar billede arne_v Ekspert
01. december 2003 - 12:45 #5
Du kan bruge StringTokenizer til at parse med.
Avatar billede arne_v Ekspert
01. december 2003 - 12:46 #6
Hvis det var XML eller binært kunne du bruge noget indbygget.
Avatar billede saje Nybegynder
01. december 2003 - 12:59 #7
Jeg har prøvet at lave følgende: (undskyld den uoverskuelige kodeopsætning)

BufferedReader ind = new BufferedReader(new InputStreamReader(new FileInputStream("C:\\BogSamling.txt")));
    String linie;
    int j=0;
    while((linie=ind.readLine())!=null)
    {
      StringTokenizer st = new StringTokenizer(linie);
        while (st.hasMoreTokens())
        {
        bogKatalog[j]= new BogAnnonce(forfatter, titel, fag, pris,  stand, udgave, email, password, dato);   
            j++;}
                }
            ind.close();

Hvordan kan StringTokenizeren vide, hvornår den har et helt objekt? og at dét, samlet, skal puttes ind i arrayet (på en plads) osv.???
Avatar billede arne_v Ekspert
01. december 2003 - 13:11 #8
Du bliver nøddt til at parse hver element manuelt.

StringTokenizer st = new StringTokenizer(linie);
String forfatter = st.nextToken();
...
String dato = st.nextToken();
bogKatalog[j]= new BogAnnonce(forfatter, titel, fag, pris,  stand, udgave, email, password, dato);   
j++;
Avatar billede saje Nybegynder
01. december 2003 - 13:13 #9
okaj, tak for hjælpen:) Gi' mig lige et svar, så du kan få point!
Avatar billede saje Nybegynder
01. december 2003 - 13:28 #10
Sådan?? Det virker ikke:( Den vil ikke kompilere de primitive typer. Nu har jeg prøvet at parse, men det bliver vist ikke bedre.
Ps..har sat spørgsmål til 15p.

StringTokenizer st = new StringTokenizer(linie);
String forfatter = st.nextToken();
String titel = st.nextToken();
String fag = st.nextToken();
Double pris = Double.parseDouble(st.nextToken());
Int stand = Integer.parseInt(st.nextToken());
Int udgave = Integer.parseInt(st.nextToken());
String email = st.nextToken();
String password = st.nextToken();
Date dato = st.nextToken();
Avatar billede arne_v Ekspert
01. december 2003 - 13:31 #11
double pris = Double.parseDouble(st.nextToken());
int stand = Integer.parseInt(st.nextToken());
int udgave = Integer.parseInt(st.nextToken());

med små bogstaver !
Avatar billede arne_v Ekspert
01. december 2003 - 13:32 #12
Date dato = st.nextToken();

Er lidt mere tricky - du skal nok bruge en SimpleDateFormat og dens
parse metode.
Avatar billede arne_v Ekspert
01. december 2003 - 13:32 #13
svar
Avatar billede saje Nybegynder
01. december 2003 - 13:33 #14
Du er en skat! Tak *s*
Avatar billede arne_v Ekspert
01. december 2003 - 13:39 #15
SimpleDateForMat er noget a la:

DateFormat df = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss");
Date d1;
String ds1 = df.format(d1);
String ds2;
Date d2 = df.parse(ds2);
Avatar billede saje Nybegynder
01. december 2003 - 13:45 #16
jeg prøver mig frem, tak endnu en gang!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester