Avatar billede bigbird Nybegynder
14. december 2006 - 13:02 Der er 4 kommentarer og
1 løsning

Directory.GetFiles. Men FOR mange filer.

Hejsa

Jeg har et program, som benytter sig af følgende commando.

string[] filArray = Directory.GetFiles(bibliotek, "*.*", SearchOption.AllDirectories);

Den henter alle de filer der ligger i det bibliotek, som variable bibliotek indeholder, og smider det hele ned ind i et string array.

Grunden til dette er at jeg skal finde ud af om der er blevet oprettet nye filer indenfor de sidste 24 timer. Jeg er scanner alle undermapper, der godt kan være nye biblioteker.

foreach (string filnavn in filArray)
{
  DateTime oprettelseTidspunkt = File.GetCreationTime(filnavn);
  if (oprettelseTidspunkt > tidNyereEnd)
  {
      antalNyeFiler++;
  }
}

Og det virker kanont :)
Problemet er blot, at biblioteket indeholde over 40.000 filer ;) Så det tager lidt tid.

Er der er en måde, hvor man kan vurdere om filerne skal smides i arraylisten med det samme ? Fremfor som nu, at jeg først hælder 40.000 filer i en arrayliste, for derefter at lede den igennem efter nye filer ...
Avatar billede jps6kb Novice
14. december 2006 - 13:15 #1
Ikke så vidt jeg ved.
Du skal først have fat i den enkelte fil, for at se hvornår de er oprettet / ændret.
Avatar billede bigbird Nybegynder
14. december 2006 - 13:17 #2
Ja, det er jeg klar over..
Men spørgsmålet var også mere om det var muligt at tjekke det INDEN at jeg smed den ind i string arrayet. Fordi mens den smider dem i string arrayet, så har den jo allerede fat i filerne.. Og hvis den allerede der kunne vurdere dato, så slap den for at smide ALT i string arrayet....
Avatar billede jps6kb Novice
14. december 2006 - 14:47 #3
Ja, men GetFiles() returnerer jo et stringarray, som filArray referer til.
Du fylder jo ikke filArray op ligesom du ville gøre i en løkke. Så derfor har DU først fat i filerne når de er i arrayet :)
Avatar billede jps6kb Novice
14. december 2006 - 14:48 #4
Du kunne bruge FileInfo's CreationTime til at se hvor gammel filen er. Men så skal du have en sti til filen, og den kan du først få fat i, når du har dit stringarray. :)
Avatar billede jps6kb Novice
29. december 2006 - 22:46 #5
Lukketid eller? ;)
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