Avatar billede mungojerrie Nybegynder
04. februar 2005 - 14:39 Der er 5 kommentarer og
1 løsning

Best practice - indlæsning/parsing af fil

Hej

Jeg vil gerne høre lidt om hvordan andre har grebet følgende opgave an.

Jeg skal modtage en kommasepareret fil, som i toppen af sig, har nogle "styre-informationer" som skal bruges senere hen i forløbet. Derefter kommer al information i en bestemt rækkefølge. Det skal lige tilføjes at informationsmængden bliver større på et senere tidspunkt, hvorfor det kunne være rart at tage højde for det på en let måde.
Al den information jeg læser ind fra filen skal senere matches op mod et andet dokument eller liste, således jeg kan sikre mig at det nye dokument jeg skaber, indeholder de krævede felter.

Hvordan holder jeg bedst styr på alle disse informationer, med det in mente at det skal være så simpelt som muligt at udvide mængden af data.... ?

Håber det giver mening :-)
Avatar billede alvion Nybegynder
04. februar 2005 - 14:48 #1
Først og fremmest vil jeg give dette råd: Læs filen ind én linie af gangen. Ellers æder du hurtigt hukommelse, som filen vokser.

Dernæst: Indeholder filen en "header", dvs. f.eks. første linie indeholder feltnavnene? Hvis ja, så gemmer du disse i et array for sig. Så ved du 1) hvor mange felter der er, 2) hvad felterne hedder og 3) hvilken position i hver linie det enkelte felt befinder sig på. Alle disse oplysninger kan bruges i forbindelse med sammenligningen mod det andet dokument.

Hvis du vil have mere hjælp, så giv et eksempel på filerne og fortæl hvilket programmeringssprog, du vil anvende. Det kan nemlig løses forskelligt afhængig af sprog.
Avatar billede mungojerrie Nybegynder
04. februar 2005 - 14:58 #2
takker for tippet og mere information følger her:

Ja, jeg regner også med at indlæse een linje ad gangen.

Der programmeres i C#

1.fil er en CVS fil
2.fil er en xml fil, som indeholder de krævede felter og attributter for en oioxml dokument.
3.fil (den jeg skaber) skal så være en valid oioxml fil udfra de to første filer.
Avatar billede alvion Nybegynder
05. februar 2005 - 20:23 #3
Tja C# er lige præcist en af de sprog, som jeg desværre ikke har eksperimenteret med. Kan man lave associative arrays (også kaldet hash'es, dictionaries, mv.)?
Avatar billede mungojerrie Nybegynder
05. februar 2005 - 21:06 #4
Der er hashtables i C# ligesom i java
Avatar billede mungojerrie Nybegynder
08. februar 2005 - 20:31 #5
har fundet en anden løsning, takker for hjælpen
Avatar billede alvion Nybegynder
09. februar 2005 - 10:45 #6
np :-)
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