Java-bestandsklasse
Java-bestandsklasse
In deze zelfstudie leren we over Java-bestanden en de verschillende bewerkingen ervan aan de hand van voorbeelden.
De File
klasse van de java.io
pakket wordt gebruikt om verschillende bewerkingen op bestanden en mappen uit te voeren.
Er is nog een pakket met de naam java.nio
die kan worden gebruikt om met bestanden te werken. In deze zelfstudie concentreren we ons echter op de java.io
pakket.
Bestand en map
Een bestand is een benoemde locatie die kan worden gebruikt om gerelateerde informatie op te slaan. Bijvoorbeeld,
main.java is een Java-bestand dat informatie over het Java-programma bevat.
Een directory is een verzameling bestanden en subdirectories. Een map in een map staat bekend als submap.
Een Java-bestandsobject maken
Een object maken van File
, moeten we de java.io.File
. importeren pakket eerst. Zodra we het pakket hebben geïmporteerd, kunnen we als volgt bestandsobjecten maken.
// creates an object of File using the path
File file = new File(String pathName);
Hier hebben we een bestandsobject gemaakt met de naam bestand . Het object kan worden gebruikt om met bestanden en mappen te werken.
Opmerking :In Java betekent het maken van een bestandsobject niet het maken van een bestand. In plaats daarvan is een bestandsobject een abstracte weergave van de padnaam van het bestand of de map (opgegeven tussen haakjes).
Bewerkingsmethoden voor Java-bestanden
Bewerking | Methode | Pakket |
---|---|---|
Bestand maken | createNewFile() | java.io.File |
Bestand lezen | read() | java.io.FileReader |
Bestand schrijven | write() | java.io.FileWriter |
Bestand verwijderen | delete() | java.io.File |
Java bestanden maken
Om een nieuw bestand aan te maken, kunnen we de createNewFile()
. gebruiken methode. Het keert terug
true
als er een nieuw bestand wordt aangemaakt.false
als het bestand al bestaat op de opgegeven locatie.
Voorbeeld:maak een nieuw bestand
// importing the File class
import java.io.File;
class Main {
public static void main(String[] args) {
// create a file object for the current location
File file = new File("newFile.txt");
try {
// trying to create a file based on the object
boolean value = file.createNewFile();
if (value) {
System.out.println("The new file is created.");
}
else {
System.out.println("The file already exists.");
}
}
catch(Exception e) {
e.getStackTrace();
}
}
}
In het bovenstaande voorbeeld hebben we een bestandsobject gemaakt met de naam bestand . Het bestandsobject is gekoppeld aan het opgegeven bestandspad.
File file = new File("newFile.txt");
Hier hebben we het bestandsobject gebruikt om het nieuwe bestand met het opgegeven pad te maken.
Als newFile.txt niet bestaat op de huidige locatie , het bestand wordt aangemaakt en dit bericht wordt weergegeven.
The new file is created.
Als newFile.txt echter al bestaat , zullen we dit bericht zien.
The file already exists.
Java-leesbestanden
Om gegevens uit het bestand te lezen, kunnen we subklassen van InputStream of Reader gebruiken.
Voorbeeld:een bestand lezen met FileReader
Stel dat we een bestand hebben met de naam input.txt met de volgende inhoud.
This is a line of text inside the file.
Laten we nu proberen het bestand te lezen met Java FileReader
.
// importing the FileReader class
import java.io.FileReader;
class Main {
public static void main(String[] args) {
char[] array = new char[100];
try {
// Creates a reader using the FileReader
FileReader input = new FileReader("input.txt");
// Reads characters
input.read(array);
System.out.println("Data in the file:");
System.out.println(array);
// Closes the reader
input.close();
}
catch(Exception e) {
e.getStackTrace();
}
}
}
Uitvoer
Data in the file: This is a line of text inside the file.
In het bovenstaande voorbeeld hebben we een object gemaakt van FileReader met de naam input. Het is nu gekoppeld aan de input.txt bestand.
FileReader input = new FileReader("input.txt");
Om de gegevens te lezen van de input.txt bestand hebben we de read() methode van FileReader
. gebruikt .
Java schrijven naar bestanden
Om gegevens naar het bestand te schrijven, kunnen we subklassen van OutputStream of Writer gebruiken.
Voorbeeld:naar bestand schrijven met FileWriter
// importing the FileWriter class
import java.io.FileWriter;
class Main {
public static void main(String args[]) {
String data = "This is the data in the output file";
try {
// Creates a Writer using FileWriter
FileWriter output = new FileWriter("output.txt");
// Writes string to the file
output.write(data);
System.out.println("Data is written to the file.");
// Closes the writer
output.close();
}
catch (Exception e) {
e.getStackTrace();
}
}
}
Uitvoer
Data is written to the file.
In het bovenstaande voorbeeld hebben we een schrijver gemaakt met behulp van de FileWriter
klas. De schrijver is gekoppeld aan de output.txt bestand.
FileWriter output = new FileWriter("output.txt");
Om gegevens naar het bestand te schrijven, hebben we de write()
. gebruikt methode.
Hier wanneer we het programma uitvoeren, de output.txt bestand is gevuld met de volgende inhoud.
This is the data in the output file.
Java-bestanden verwijderen
We kunnen de delete()
. gebruiken methode van het Bestand class om het opgegeven bestand of de opgegeven map te verwijderen. Het keert terug
true
als het bestand is verwijderd.false
als het bestand niet bestaat.
Opmerking :We kunnen alleen lege mappen verwijderen.
Voorbeeld:een bestand verwijderen
import java.io.File;
class Main {
public static void main(String[] args) {
// creates a file object
File file = new File("file.txt");
// deletes the file
boolean value = file.delete();
if(value) {
System.out.println("The File is deleted.");
}
else {
System.out.println("The File is not deleted.");
}
}
}
Uitvoer
The File is deleted.
In het bovenstaande voorbeeld hebben we een object gemaakt van Bestand met de naam bestand. Het bestand bevat nu de informatie over het opgegeven bestand.
File file = new File("file.txt");
Hier hebben we de delete()
. gebruikt methode om het door het object gespecificeerde bestand te verwijderen.
- Java-map maken
- Java hernoemen bestand
- Java-lijstbestanden in een map
- Java-kopieerbestanden
Java