Java:
Een tijdelijk bestand aanmaken
Hoe:
In Java is het java.nio.file
pakket je vriend voor tijdelijke bestanden. Bekijk dit fragment:
import java.nio.file.Files;
import java.nio.file.Path;
public class TempFileExample {
public static void main(String[] args) {
try {
// Een tijdelijk bestand maken
Path tempFile = Files.createTempFile(null, ".tmp");
System.out.println("Tijdelijk bestand gecreëerd op: " + tempFile);
// Schrijven naar tijdelijk bestand
Files.writeString(tempFile, "Dit is de inhoud van een tijdelijk bestand");
// Lezen van tijdelijk bestand
String inhoud = Files.readString(tempFile);
System.out.println("Inhoud van het tijdelijke bestand: " + inhoud);
// Tijdelijk bestand verwijderen (optioneel hier omdat het bij JVM-afsluiting wordt verwijderd)
Files.delete(tempFile);
System.out.println("Tijdelijk bestand verwijderd.");
} catch (Exception e) {
e.printStackTrace();
}
}
}
Voer het uit, en je krijgt zoiets als:
Tijdelijk bestand gecreëerd op: /tmp/user23423842348234823948.tmp
Inhoud van het tijdelijke bestand: Dit is de inhoud van een tijdelijk bestand
Tijdelijk bestand verwijderd.
Netjes, toch?
Diepgaande Bespreking
Tijdelijke bestanden maken al eeuwen deel uit van onze toolkit, helemaal terug tot de dageraad van het computergebruik. Ze zijn je beste keuze als je gegevens moet afhandelen die geen zaken hebben om te blijven hangen.
Java staat aan je zijde met de Files
klasse sinds Java 7, wat de afhandeling van tijdelijke bestanden super eenvoudig maakt. Voordien moest je File
objecten jongleren en hopen op het beste (maar ga niet terug naar die donkere dagen, omarm de nieuwe API).
Het coole aan de createTempFile
methode is dat je de map en een bestandsnaam voorvoegsel of achtervoegsel kunt specificeren, of het allemaal aan Java’s standaardwensen kunt overlaten. Onthoud gewoon, als je deze bestanden niet handmatig verwijdert, zullen ze blijven bestaan tot het programma wordt afgesloten. En in sommige gevallen, vooral bij langlopende toepassingen, wil je mogelijk zelf opruimen in plaats van te wachten op het grote finale.
Alternatieven? Zeker, je zou op de ouderwetse manier elke bestandsbewerking handmatig kunnen afhandelen, of een specifieke methode van het besturingssysteem gebruiken. Echter, de Java-weg is veiliger en meer overdraagbaar over platforms.