19. februar 2003 - 23:04Der er
15 kommentarer og 1 løsning
Tage backup af fil, hvis den indeholder noget (objekter)
Hejsa, Ved hjælp af Serializable gemmer jeg objekter i en fil. Jeg vil gerne når jeg starter programmet tage en backup af min fil. Men denne backup skal selvfølgelig kun tages hvis filen indeholder objekter.
Hvordan gør man det på en pæn måde? Man kan jo godt bare først tjekke på om det er muligt at gendanne fx et objekt ud fra filen for derefter at tage en backup hvis det gendanne af objektet var muligt. Men er det den pæneste måde at gøre det på?
Noget andet er, hvor kopiere jeg en fil? kan man fx bare sige: ObjectOutputStream Backup = ObjectInputStream Data eller hvordan gør man det(på en pæn måde)?
Bør man iøvrigt ellers lave programmet således at det selv tager en backup hver uge, og måske endda selv slette backup filer som er mere end fx 5mdr. gamle?
Er nu ikke så bange for det sidste. Hvis man ændre i klasserne kan man jo bare lave en forløkke der løber den gamle fil og tilføjer (tomme) parametre hvis det er...
Hvordan kodemæssigt copiere jeg i java? Når du skriver OS COPY så mener du at jeg skal lave en bat-fil?
Det er bare 10 gange nemmere at bruge serialisering når man arbejder med objekter som består af andre objekter. Men da programmet helt sikkert kan udvides bør jeg nok holde mig til teskst filer og så have nogle unikke variabler i de forskellige objekttyper, så jeg kan indlæse objekterne rigtigt igen. Eller hvordan bør man se på det?
Lige et sidste spørgmål Arne.. Bliver lidt nysgerrig... Du skriver "Serialisering er fremragende til kort tids opbevaring". Hvordan kan det være det kun og godt til korttidsopbevaring og ikke til-lang-opbevaring tids?
Problemerne kan opstå hvis man ændrer i klasserne.
Man kan sagtens gemme og hente fra serialiseret format mens programmet kører. Fordi ens klasser ikke ændrer sig.
Man kan også sagtens gemme filer fra dag til dag, fordi så er det stadig ikke specielt sandsyneligt at man har ændret i sine klasser og hvis man har så har man nok nogenlunde styr på hvad man har rettet.
Men hvis man gemmer filer i måneder/år, så er det jo rimeligt sandsyneligt at man har ændret i sine klasser og ofte vil det være helt håbløst at forsøge at huske præcist hvad man har ændret.
Og man kan ikke se ret meget ud af et serialiseret objekt (medmindre man er *maget* skrap). Både XML og database tabeller kan man umiddelbart gå ind og se hvad de indeholder af felter.
Synes godt om
Ny brugerNybegynder
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.