Java-bestandsbewerkingen onder de knie krijgen met java.io – Aanmaken, lezen, schrijven en verwijderen
Java File-klasse
In deze tutorial verkennen we de java.io.File-klasse en de essentiële besturingssysteemoperaties, geïllustreerd met duidelijke voorbeelden.
De File-klasse uit het java.io-pakket biedt een programmatische interface voor het werken met bestanden en mappen op het bestandssysteem. Hoewel de nieuwere java.nio.file-API extra mogelijkheden biedt, richt deze gids zich op de klassieke java.io-benadering.
Bestand en map
Een bestand is een benoemde opslaglocatie voor gegevens. Bijvoorbeeld bevat main.java de broncode voor een Java-programma.
Een map (of directory) is een container die bestanden en andere mappen kan bevatten – submappen. Het begrijpen van deze concepten is de basis voor het manipuleren van het bestandssysteem in Java.
Een File-object aanmaken
Importeer eerst de klasse:
import java.io.File;
Instantieer het vervolgens met een padnaam:
// Maakt een File-object dat het pad vertegenwoordigt
File bestand = new File("pad/naar/bestand.txt");
Het File-exemplaar is slechts een abstracte representatie; het creëert het fysieke bestand niet op de schijf.
Let op: Het instantiëren van File creëert geen bestand; het bevat alleen de padnaam.
Belangrijkste bestandsoperaties
| Operatie | Methode | Pakket |
|---|---|---|
| Een bestand aanmaken | createNewFile() | java.io.File |
| Een bestand lezen | read() | java.io.FileReader |
| Naar een bestand schrijven | write() | java.io.FileWriter |
| Een bestand verwijderen | delete() | java.io.File |
Bestanden aanmaken
De methode createNewFile() probeert een nieuw bestand aan te maken op het opgegeven pad. Het retourneert:
trueals het bestand nog niet bestond en is aangemaakt.falseals er al een bestand op die locatie bestaat.
Voorbeeld: Een nieuw bestand aanmaken
import java.io.File;
public class Main {
public static void main(String[] args) {
File bestand = new File("nieuwBestand.txt");
try {
boolean aangemaakt = bestand.createNewFile();
if (aangemaakt) {
System.out.println("Het nieuwe bestand is aangemaakt.");
} else {
System.out.println("Het bestand bestaat al.");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
Als nieuwBestand.txt afwezig is, geeft het programma:
Het nieuwe bestand is aangemaakt.
Als het al bestaat, is de output:
Het bestand bestaat al.
Bestanden lezen
Lezen kan via subclasses van InputStream of Reader. Een veelgebruikte keuze is FileReader.
Voorbeeld: Een bestand lezen met FileReader
import java.io.FileReader;
public class Main {
public static void main(String[] args) {
char[] buffer = new char[100];
try {
FileReader reader = new FileReader("input.txt");
reader.read(buffer);
System.out.println("Gegevens in het bestand:");
System.out.println(buffer);
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Het voorbeeldbestand input.txt bevat:
Dit is een regel tekst in het bestand.
Het uitvoeren van het programma print:
Gegevens in het bestand: Dit is een regel tekst in het bestand.
Naar bestanden schrijven
Schrijven wordt meestal uitgevoerd met subclasses van OutputStream of Writer, zoals FileWriter.
Voorbeeld: Naar een bestand schrijven met FileWriter
import java.io.FileWriter;
public class Main {
public static void main(String[] args) {
String data = "Dit zijn de gegevens in het uitvoerbestand";
try {
FileWriter writer = new FileWriter("output.txt");
writer.write(data);
System.out.println("Gegevens zijn naar het bestand geschreven.");
writer.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Het resulterende output.txt bevat:
Dit zijn de gegevens in het uitvoerbestand.
Bestanden verwijderen
De methode delete() verwijdert het opgegeven bestand of de map. Het retourneert:
trueals de verwijdering is gelukt.falseals het bestand niet bestond of niet kon worden verwijderd.
Let op: Alleen lege mappen kunnen worden verwijderd met delete().
Voorbeeld: Een bestand verwijderen
import java.io.File;
public class Main {
public static void main(String[] args) {
File bestand = new File("bestand.txt");
boolean verwijderd = bestand.delete();
if (verwijderd) {
System.out.println("Het bestand is verwijderd.");
} else {
System.out.println("Het bestand is niet verwijderd.");
}
}
}
Output:
Het bestand is verwijderd.
Gerelateerde voorbeelden
- Java map aanmaken
- Java bestand hernoemen
- Java bestanden in een map lijsten
- Java bestanden kopiëren
Java
- Java's final-sleutelwoord begrijpen: variabelen, methoden en klassen
- Java instanceof operator: een uitgebreide gids
- Java-erfenis meesteren: concepten, typen en praktische voorbeelden
- Java geneste static classes begrijpen: gebruik, verschillen en voorbeelden
- Java anonieme inner classes meesteren: definitie, syntax en praktische voorbeelden
- Java Singleton patroon uitgelegd: hoe veilig te implementeren en gebruiken
- Java Reflectie meesteren: klassen, methoden en velden inspecteren tijdens runtime
- Java ArrayList meesteren: operaties, methoden en best practices
- Java ObjectOutputStream: Serialisatie, methoden en praktische voorbeelden
- Java BufferedReader: Efficiënte karakter-stream-afhandeling
- Java Generics: Herbruikbare, type-veilige code bouwen