Erstellung einer temporären Datei

Haskell:
Erstellung einer temporären Datei

So geht’s:

Mit der Haskell-Bibliothek temporary kann man leicht temporäre Dateien erstellen und verwalten. Hier ein Beispiel:

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

main :: IO ()
main = withSystemTempFile "meineTempDatei.txt" $ \tempFile hFile -> do
  -- Schreibe etwas in die temporäre Datei
  hPutStrLn hFile "Das ist ein Test."

  -- Lies den Inhalt der temporären Datei
  hSeek hFile AbsoluteSeek 0  -- Zurück zum Anfang der Datei
  content <- hGetContents hFile
  putStrLn $ "Die temporäre Datei enthält: " ++ content

-- Ausgabe: "Die temporäre Datei enthält: Das ist ein Test."

Tiefgang:

Historisch gesehen wurden temporäre Dateien oft manuell mit spezifischen Dateinamen erstellt, was zu Sicherheitsrisiken führte. Moderne Ansätze, wie die temporary-Bibliothek, vermeiden diese Probleme indem sie automatisch eindeutige Namen generieren. Alternativ zur temporären Datei kann man auch In-Memory-Strukturen nutzen, wenn die Performance kritisch ist. Bei der Implementation ist wichtig, dass das Betriebssystem die Datei löscht, auch wenn das Programm unerwartet beendet wird.

Siehe auch: