En datafil, oftest bare kalt fil, er en oppføring i et filsystem. Ordet er en fornorskning av det engelske ordet file som betyr arkiv. Null eller flere filnavn kan referere til en fil i filsystemet. I tillegg til vanlige filer, som representerer data, kan filsystemer ha andre typer filer, for eksempel Mapper. Dataene representeres som en endimensjonal byte-sekvens, men noen filsystemer støtter flere datastrømmer (for eksempel NTFS). I tillegg vil filsystemer typisk assosiere forskjellige metadata til en fil, for eksempel rettigheter, tidspunkt for opprettelse, sist endret og sist brukt, sikkerhetskontekst, til og med vilkårlige brukerdefinerte metadata. Filsystemets metadata er altså ikke det samme som eventuelle metadata som måtte ligge i innholdet av en fil.

Lesing og skriving rediger

Et dataprogram kan blant annet lese, skrive, opprette og slette datafiler ved bruk av funksjonskall til operativsystemet (såkalte systemkall). En hensikt med operativsystemer er nettopp å koordinere brukerprogrammenes tilgang til filer.

Formater rediger

Hvordan innholdet av en fil skal tolkes er opptil det enkelte programmet, men mange filformater, særlig bilde-, lyd- og videofiler, inneholder detaljer om hvordan dette skal gjøres. Det er vanlig at ulike filformater har en gjenkjennelig signatur (engelsk: magic number) i nærheten av starten. De fleste filformater vil kunne gjenkjennes på de første 16 bytene. Eksempler på filer som ikke nødvendigvis inneholder en slik signatur er mp3-filer og forskjellige former for tekstfiler. Av konvensjon er det vanlig å indikere filtypen med et filnavnsuffiks, noe som er nyttig for grafiske brukergrensesnitt for å avgjøre hvilket program fila skal åpnes i når man åpner den. En mer kategorisk og beskrivende angivelse er MIME-typen, som brukes på internett.

Typer rediger

Noen hovedtyper filer:

  1. Datafil: Dette er de fleste filene slik vi kjenner dem og inneholder data. Datafiler kan igjen være av to typer:
    1. Kjørbar fil/programfil: Disse er i utgangspunktet er nødt til å kjøre i et spesielt miljø eks. Windowsmiljø. Eller .jar filer som må kjøre i et Javamiljø. Disse kan være i maskinkode, eller mer scriptbasert (lesbare)
    2. Innholdsfil: Datafiler for lagring av data. Disse dataene kan en få tilgang på gjennom et program. Gjennom programmet kan en vanligvis lese, endre og lagre filen. Hvilket program som skal brukes til den enkelte filtypen baseres i windows-verden seg som sagt på filens etternavn, filendelsen.
  2. Mappe: Disse kan inneholde andre filer.
  3. Lenke: Disse "peker" til en annen fil. Operatvisystemet passer på at filen ikke peker til seg selv.

Se også rediger