skromt Skrevet 12. oktober 2006 Del Skrevet 12. oktober 2006 Hvilken I/O klasse gir best fleksibilitet når det kommer å lese av filer og lagre til fil. Husker ikke det lengre, så lenge siden jeg holdt på med I/O Tenker da at jeg skal lagre en god del, burde vel egentlig vært en database, men oppgaven krever filbehandling. Skal lagre informasjon om leietaker, og koble det opp mot leiligheter. Og også ha informasjon om hvor mye husleie de har betalt. Lenke til kommentar
Patton Skrevet 13. oktober 2006 Del Skrevet 13. oktober 2006 (endret) Det finnes to maater (som jeg vet om) hvordan man leser og skriver til fil, enten FileInputStream/FileOutputStream eller RandomAccessFile. RandomAccessFile brukes ofte hvis du har en diger fil, men du vil bare lese en del av fila, gjerne midt i. Du kan ogsaa overskrive bytes midt i fila, men ikke slette bytes. Eneste stedet det er mulig aa appende bytes er paa slutten av fila. FileInputStream/FileOutputStream leser/skriver en fil fra begynnelsen til slutt. Du kan ikke endre innholdet til en fil, bare erstatte hele fila (dvs, skrive alt paa nytt). Vanligvis bruker man et hoeyre abstraksjonsnivaa naar man skriver til fil, f.eks. XML. De mest kjente metodene for XML parsing er DOM og SAX. SAX godt egnet for veldig store dokumenter, siden man leser linje for linje, og genererer events naar XML-Elementer finnes. Dessverre kan man ikke skrive XML filer med SAX. DOM leser hele dokumentet som ett, og man kan traversere XML-treet i hytt og pine etterpaa. DOM kan lese og skrive dokumenter. Soek paa nettet saa finner du tusenvis av eksempler paa bruk av begge. For skriving av java-objekter til XML kan du bruke biblioteker f.eks. JAXP, JAXB, Castor etc. , eller gjoere alt for haand selv (egentlig ikke saa vanskelig). Det aller, aller enkleste er aa bruke ObjectInputStream/ObjectOutputStream. Da serialiserer du enkelt og greitt objektstrukturen ved hjelp av javas innebygde serializable interface. Bruk FileInputStream/FileOutputStream som argument i ObjectInputStream/ObjectOutputStream saa skal objektserialiseringen vaere temmelig i boks. Edit: Tja, hva som er best? Som du sier selv, DB er best for store persistente dokumenter, men siden oppgaven definerer filbehandling, saa er det egentlig revnendes likegyldig hva du bruker saa lenge dokumentet ikke overstiger mange MB. Bruk det som er mest komfortabel (i dette tilfelle ObjectInputStream/ObjectOutputStream). Endret 13. oktober 2006 av Patton Lenke til kommentar
skromt Skrevet 14. oktober 2006 Forfatter Del Skrevet 14. oktober 2006 ja jeg tror jeg går for output input stream, tenkte over det, og det virker som om alt kan lagres som objekter av samme type på filen. Da er vel serializable best. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå