Inhoudsopgave
Wanneer we werken aan het maken van desktopprogramma's, weten we dat we gegevenspersistentie moeten hebben, vaak hebben we geen toegang tot een database, omdat dit niet de filosofie van het programma is, hiervoor zijn we gedwongen bestanden te gebruiken die we in de machine kunnen opslaan waar onze applicatie zich bevindt.De werken met bestanden in een bepaald aspect is het niet zo eenvoudig als het lijkt, aangezien je moet verifiëren en veel elementen onder controle hebt, machtigingen, dat het bestand bestaat, oppassen dat je de reeds geladen gegevens niet overschrijft, enz.
Om al deze aspecten te beheersen, Java biedt ons de les Bestand, hiermee kunnen we het bestand als een object behandelen en profiteren van de tools en functionaliteiten die het heeft.
De Bestandsklasse Het bestaat uit een verzameling methoden en constructors die het maken van bestanden op het systeem vergemakkelijken, evenals toegang tot hun verschillende eigenschappen, zoals het absolute pad van het bestand, het type toestemming, enz.
Gefocust zijn op meerdere Java-platforms helpt ons om met padscheidingstekens om te gaan, want als we de padscheidingstekens van bestanden hebben hersteld van ramen zijn heel anders dan die worden gebruikt in systemen die zijn gebaseerd op Linux, daarom vertrouwend op de verschillende instrumenten van Java we kunnen doen Toepassingen multi-platforms.
Even de nadruk leggend op het punt van de routes, het is niet aan te raden om absolute routes te gebruiken, aangezien dit de overdraagbaarheid van ons programma enorm beperkt, bijvoorbeeld een route: "C: \ boek \ tutorial.java" Het zal ons problemen opleveren als we ons programma in een andere omgeving dan Windows uitvoeren vanwege het scheidingsteken "\", dat het symbool is voor Windows, maar verschilt van "/" dat het scheidingsteken is voor Linux-systemen, en het is ook het scheidingsteken voor Java standaard.
De aanbevolen manier is om de Bestandsklasse regel dit voor ons, hiervoor gebruiken we bij het genereren van ons object de constructor om dit te doen, laten we bijvoorbeeld de volgende code bekijken:
nieuw bestand ("afbeelding / us.gif.webp");
Deze regel zorgt ervoor dat onze applicatie een map met de naam "image" lokaliseert in de map waar ons programma zich bevindt en het bijbehorende bestand maakt.
We gaan nu een klein voorbeeldprogramma maken waarin we verschillende methoden van de kunnen gebruiken Bestandsklasse om details van een bestand te krijgen:
public class TestFileClass {public static void main (String [] args) {java.io.File file = new java.io.File ("image / us.gif.webp"); System.out.println ("Bestaat" + bestand.bestaat ()); System.out.println ("heeft een gewicht van" + file.length () + "bytes"); System.out.println ("Kan het worden gelezen?" + File.canRead ()); System.out.println ("Kan het worden geschreven?" + File.canWrite ()); System.out.println ("Is het een directory?" + File.isDirectory ()); System.out.println ("Is het een bestand?" + File.isFile ()); System.out.println ("Is het absoluut?" + File.isAbsolute ()); System.out.println ("is het verborgen?" + File.isHidden ()); System.out.println ("Absoulte pad is" + file.getAbsolutePath ()); System.out.println ("Het is voor het laatst gewijzigd in:" + nieuwe java.util.Date (file.lastModified ())); }}
Wat we hier eerst doen, is een object van de . initialiseren Bestandstype, dan geven we in de constructor een pad en een bestand door, en tegen dit object passen we de verschillende methoden toe, laten we in de volgende afbeelding het resultaat zien wanneer het bestand niet bestaat:
Nu gaan we kijken wat het programma ons teruggeeft in ons systeem:
Hiermee ronden we de tutorial af, aangezien het vrij eenvoudig is om met bestanden te werken en om op een eenvoudige manier toegang te krijgen tot de verschillende kenmerken van ons bestand.