Op Java is een Bestand is een abstract gegevenstype. Een benoemde locatie die wordt gebruikt om gerelateerde informatie op te slaan, staat bekend als een Bestand . Er zijn meerdere Bestandsbewerkingen leuk vinden een nieuw bestand maken, informatie over een bestand opvragen, in een bestand schrijven, uit een bestand lezen En een bestand verwijderen .
Voordat we de bestandsbewerkingen kunnen begrijpen, is het vereist dat we er kennis van hebben Stroom En Bestandsmethoden . Als je kennis over beide hebt, kun je deze overslaan.
Stroom
Een reeks gegevens wordt genoemd een stroom . In Java , Stroom is ingedeeld in twee typen, namelijk Bytestroom En Karakterstroom .
Bytestroom
Bytestroom houdt zich voornamelijk bezig met bytegegevens. Een bestandsverwerkingsproces met een bytestroom is een proces waarbij invoer wordt geleverd en uitgevoerd met de bytegegevens.
tekenreeks vergelijk Java
Karakterstroom
Karakterstroom houdt zich voornamelijk bezig met karaktergegevens. Een bestandsverwerkingsproces met een tekenstroom is een proces waarbij invoer wordt geleverd en uitgevoerd met de tekengegevens.
Om meer kennis over de stream te krijgen, Klik hier .
Methoden voor Java-bestandsklassen
Ja nee. | Methode | Retourtype | Beschrijving |
---|---|---|---|
1. | kunnen lezen() | Booleaans | De kunnen lezen() methode wordt gebruikt om te controleren of we de gegevens van het bestand kunnen lezen of niet. |
2. | maakNieuwBestand() | Booleaans | De maakNieuwBestand() methode wordt gebruikt om een nieuw leeg bestand te maken. |
3. | kan schrijven() | Booleaans | De kan schrijven() methode wordt gebruikt om te controleren of we de gegevens in het bestand kunnen schrijven of niet. |
4. | bestaat() | Booleaans | De bestaat() methode wordt gebruikt om te controleren of het opgegeven bestand aanwezig is of niet. |
5. | verwijderen() | Booleaans | De verwijderen() methode wordt gebruikt om een bestand te verwijderen. |
6. | getName() | Snaar | De getName() methode wordt gebruikt om de bestandsnaam te vinden. |
7. | getAbsolutePath() | Snaar | De getAbsolutePath() methode wordt gebruikt om de absolute padnaam van het bestand te verkrijgen. |
8. | lengte() | Lang | De lengte() methode wordt gebruikt om de grootte van het bestand in bytes te verkrijgen. |
9. | lijst() | Snaar[] | De lijst() methode wordt gebruikt om een array te krijgen van de bestanden die beschikbaar zijn in de directory. |
10. | mkdir() | Booleaans | De mkdir() methode wordt gebruikt voor het maken van een nieuwe map. |
Bestandsbewerkingen
We kunnen de volgende bewerking op een bestand uitvoeren:
- Maak een bestand
- Bestandsinformatie ophalen
- Schrijf naar een bestand
- Lezen uit een bestand
- Verwijder een bestand
Maak een bestand
Maak een bestand Er wordt een bewerking uitgevoerd om een nieuw bestand te maken. Wij gebruiken de maakNieuwBestand() methode van bestand. De maakNieuwBestand() methode retourneert true als er met succes een nieuw bestand is gemaakt en retourneert false als het bestand al bestaat.
Laten we een voorbeeld nemen van het maken van een bestand om te begrijpen hoe we de maakNieuwBestand() methode om deze handeling uit te voeren.
CreateFile.java
// Importing File class import java.io.File; // Importing the IOException class for handling errors import java.io.IOException; class CreateFile { public static void main(String args[]) { try { // Creating an object of a file File f0 = new File('D:FileOperationExample.txt'); if (f0.createNewFile()) { System.out.println('File ' + f0.getName() + ' is created successfully.'); } else { System.out.println('File is already exist in the directory.'); } } catch (IOException exception) { System.out.println('An unexpected error is occurred.'); exception.printStackTrace(); } } }
Uitgang:
Uitleg:
In de bovenstaande code importeren we de klasse File en IOException voor respectievelijk het uitvoeren van bestandsbewerkingen en het afhandelen van fouten. Wij creëren de f0 object van de klasse File en geef de locatie op van de map waarin we een bestand willen maken. In het try-blok noemen we de maakNieuwBestand() methode via de f0 object om een nieuw bestand op de opgegeven locatie te maken. Als de methode false retourneert, springt deze naar de else-sectie. Als er een fout is, wordt deze afgehandeld in het catch-blok.
Bestandsinformatie ophalen
De bewerking wordt uitgevoerd om de bestandsinformatie op te halen. We gebruiken verschillende methoden om informatie over het bestand te verkrijgen, zoals naam, absoluut pad, leesbaar, beschrijfbaar en lengte.
Laten we een voorbeeld nemen om te begrijpen hoe u bestandsmethoden kunt gebruiken om de informatie over het bestand te verkrijgen.
BestandInfo.java
// Import the File class import java.io.File; class FileInfo { public static void main(String[] args) { // Creating file object File f0 = new File('D:FileOperationExample.txt'); if (f0.exists()) { // Getting file name System.out.println('The name of the file is: ' + f0.getName()); // Getting path of the file System.out.println('The absolute path of the file is: ' + f0.getAbsolutePath()); // Checking whether the file is writable or not System.out.println('Is file writeable?: ' + f0.canWrite()); // Checking whether the file is readable or not System.out.println('Is file readable ' + f0.canRead()); // Getting the length of the file in bytes System.out.println('The size of the file in bytes is: ' + f0.length()); } else { System.out.println('The file does not exist.'); } } }
Uitgang:
is lege Java
Beschrijving:
In de bovenstaande code importeren we de java.io.Bestand verpakken en een klasse maken Bestandsinformatie . In de hoofdmethode maken we een object van het tekstbestand dat we in ons vorige voorbeeld hebben gemaakt. We controleren het bestaan van het bestand met behulp van een voorwaardelijke verklaring en als het aanwezig is, krijgen we de volgende informatie over dat bestand:
- We krijgen de naam van het bestand met behulp van de getName()
- We krijgen het absolute pad van het bestand met behulp van de getAbsolutePath() methode van het bestand.
- We controleren of we gegevens in een bestand kunnen schrijven of niet met behulp van de kan schrijven()
- We controleren of we de gegevens van het bestand kunnen lezen of niet met behulp van de kunnen lezen()
- We krijgen de lengte van het bestand met behulp van de lengte()
Als het bestand niet bestaat, tonen we een aangepast bericht.
Schrijf naar een bestand
De volgende bewerking die we op een bestand kunnen uitvoeren is 'schrijven in een bestand' . Om gegevens in een bestand te schrijven, gebruiken we de Bestandsschrijver klasse en zijn schrijven() methode samen. We moeten de stream sluiten met behulp van de dichtbij() methode om de toegewezen bronnen op te halen.
Laten we een voorbeeld nemen om te begrijpen hoe we gegevens naar een bestand kunnen schrijven.
WriteToFile.java
// Importing the FileWriter class import java.io.FileWriter; // Importing the IOException class for handling errors import java.io.IOException; class WriteToFile { public static void main(String[] args) { try { FileWriter fwrite = new FileWriter('D:FileOperationExample.txt'); // writing the content into the FileOperationExample.txt file fwrite.write('A named location used to store related information is referred to as a File.'); // Closing the stream fwrite.close(); System.out.println('Content is successfully wrote to the file.'); } catch (IOException e) { System.out.println('Unexpected error occurred'); e.printStackTrace(); } } }
Uitgang:
Uitleg:
In de bovenstaande code importeren we de java.io.FileWriter En java.io.IOException klassen. We maken een klasse WriteToFile en in de hoofdmethode gebruiken we de proberen te vangen blok. In de try-sectie maken we een instantie van de FileWriter-klasse, d.w.z. fschrijven . Wij noemen de schrijven methode van de FileWriter-klasse en geef de inhoud door aan de functie die we willen schrijven. Daarna bellen wij met de dichtbij() methode van de FileWriter-klasse om de bestandsstroom te sluiten. Nadat we de inhoud hebben geschreven en de stream hebben afgesloten, printen we een bericht op maat.
blokkeer YouTube-advertenties op Android
Als we een fout tegenkomen in de try-sectie, springt deze naar het catch-blok. In het catch-blok behandelen we de IOUitzondering en druk een aangepast bericht af.
Lezen uit een bestand
De volgende bewerking die we op een bestand kunnen uitvoeren is 'lezen uit een bestand' . Om gegevens in een bestand te schrijven, gebruiken we de Scanner klas. Hier moeten we de stream sluiten met behulp van de dichtbij() methode. We zullen een exemplaar maken van de Scannerklasse en gebruik de hasNextLine() methode volgenderegel() methode om gegevens uit het bestand te halen.
Laten we een voorbeeld nemen om te begrijpen hoe we gegevens uit een bestand kunnen lezen.
ReadFromFile.java
// Importing the File class import java.io.File; // Importing FileNotFoundException class for handling errors import java.io.FileNotFoundException; // Importing the Scanner class for reading text files import java.util.Scanner; class ReadFromFile { public static void main(String[] args) { try { // Create f1 object of the file to read data File f1 = new File('D:FileOperationExample.txt'); Scanner dataReader = new Scanner(f1); while (dataReader.hasNextLine()) { String fileData = dataReader.nextLine(); System.out.println(fileData); } dataReader.close(); } catch (FileNotFoundException exception) { System.out.println('Unexcpected error occurred!'); exception.printStackTrace(); } } }
Uitgang:
Expalnatie:
In de bovenstaande code importeren we de 'java.util.Scannner', 'java.io.Bestand' En 'java.io.IOException' klassen. Wij creëren een klas ReadFromFile , en in de hoofdmethode gebruiken we de try-catch blok . In de try-sectie maken we een exemplaar van zowel de Scanner en de Bestand klassen. Wij passeren de Bestand klasseobject tegen de Scanner class-object en herhaal vervolgens het scannerklasse-object met behulp van de 'Terwijl' loop en druk elke regel van het bestand af. We moeten ook het scannerklasseobject sluiten, dus gebruiken we de functie close(). Als we een fout tegenkomen in de try-sectie, springt deze naar het catch-blok. In het catch-blok verwerken we de IOException en drukken we een aangepast bericht af.
Verwijder een bestand
De volgende bewerking die we op een bestand kunnen uitvoeren is 'Een bestand verwijderen' . Om een bestand te verwijderen, gebruiken we de verwijderen() methode van het bestand. We hoeven de stream niet te sluiten met behulp van de dichtbij() methode omdat we voor het verwijderen van een bestand noch de FileWriter-klasse, noch de Scanner-klasse gebruiken.
Laten we een voorbeeld nemen om te begrijpen hoe we gegevens naar een bestand kunnen schrijven.
Bestand verwijderen.java
// Importing the File class import java.io.File; class DeleteFile { public static void main(String[] args) { File f0 = new File('D:FileOperationExample.txt'); if (f0.delete()) { System.out.println(f0.getName()+ ' file is deleted successfully.'); } else { System.out.println('Unexpected error found in deletion of the file.'); } } }
Uitgang:
Uitleg:
In de bovenstaande code importeren we de Bestand klasse en maak een klasse Verwijder bestand . In de main() methode van de klasse creëren we f0 object van het bestand dat we willen verwijderen. In de als verklaring, noemen we de verwijderen() methode van het bestand met behulp van het f0-object. Als de methode delete() true retourneert, drukken we het aangepaste succesbericht af. Anders springt het naar de else-sectie waar we het mislukte aangepaste bericht afdrukken.
wat is winterslaap in Java
Alle bovengenoemde bewerkingen worden gebruikt om bestanden programmatisch te lezen, schrijven, verwijderen en maken.