Haskell:
Skapa en temporär fil
Så Här Gör Du:
I Haskell kan du skapa och hantera temporära filer med System.IO.Temp
. Koden nedan visar hur:
import System.IO.Temp (withSystemTempFile)
import System.IO (hPutStrLn, hGetContents)
main :: IO ()
main = withSystemTempFile "tempfile.txt" $ \filePath handle -> do
-- Skriv något till den temporära filen
hPutStrLn handle "Temporär data!"
-- Utför operationer med filen här...
-- Läs och skriv ut innehållet från den temporära filen
hGetContents handle >>= putStrLn
Det här kommer skapa en temporär fil, skriva något i den, läsa och skriva ut det.
Djupdykning:
Funktionen withSystemTempFile
från System.IO.Temp
är smidig. Den ser till att filen raderas när den inte längre behövs. Det är en säker åtgärd som Haskell använder för att hjälpa till med resurshantering, och är en del av dess funktionella paradigm.
Historiskt sett har temporära filer ofta skapats och hanterats manuellt, vilket ibland ledde till problem med glömda temporära filer som tog upp plats och resurser.
Ett alternativ är att skapa filer i ett temporärt filsystem, som /tmp
på Unix-system, men att rensa upp efter sig är fortfarande användarens ansvar.
Implementationen av System.IO.Temp
tillhandahåller atomiska operationer som minskar riskerna för kollisioner och osäkerheter, som kan uppstå när flera processer försöker skapa temporära filer samtidigt.
Se Även:
- Haskell’s dokumentation för
System.IO.Temp
: https://hackage.haskell.org/package/temporary-1.3/docs/System-IO-Temp.html - Haskell’s IO-handbibliotek: https://hackage.haskell.org/package/base-4.14.1.0/docs/System-IO.html
- Guide till Haskell’s fil- och katalogoperationer: https://wiki.haskell.org/Working_with_files