Opprette en midlertidig fil

Haskell:
Opprette en midlertidig fil

How to:

import System.IO.Temp (withSystemTempFile)
import System.IO (hPutStrLn, hGetContents)

main :: IO ()
main = withSystemTempFile "mytemp.txt" $ \path handle -> do
    putStrLn $ "Filen er opprettet: " ++ path
    hPutStrLn handle "Noe midlertidig innhold"
    -- husk å lukke filen for å lagre innholdet
    contents <- hGetContents handle
    putStrLn $ "Innholdet i filen: " ++ contents
    -- filen fjernes automatisk her

Kjøre eksempel:

Filen er opprettet: /tmp/mytemp.txt1234
Innholdet i filen: Noe midlertidig innhold

Deep Dive

Midlertidige filer er ikke nytt. De har vært brukt siden tidlige dagers databehandling for å håndtere ekstra data uten å tære på primær lagring. I Haskell, System.IO.Temp modulen tilbyr funksjoner for å håndtere midlertidige filer. withSystemTempFile funksjonen er en høyereordens funksjon som tar seg av både opprettelse og sletting av midlertidige filer, og sørger for sikkerhet da andre brukere ikke kan aksessere filen mens den er åpen. Alternativene inkluderer å bruke lavnivå IO operasjoner for å manuelt håndtere filer, eller å bruke biblioteker som temporary for mer funksjonalitet. Implementasjonen er avhengig av systemkall for å sikre unikhet og sikkerhet av den midlertidige filen.

See Also