Generieren von Dateien aus Java

Inhaltsverzeichnis
Trotz der Zusammenarbeit mit Datenbanken Es ist eine sehr gute Sache und es erspart uns viel Arbeit beim Abfragen und Zuordnen von Datensätzen, manchmal müssen wir Dateien generieren, da wir keinen Server haben Datenbank verfügbar oder vielleicht, weil wir keinen Datensatz speichern müssen, sondern einen nicht verwandten Datensatz.
Dateimanagement ist ein Bereich, der von vielen noch als komplex oder vielleicht veraltet angesehen wird. Dies ist jedoch falsch, die Generierung von Dateien ist für die Entwicklung von Systemen und Anwendungen von entscheidender Bedeutung. Eine Datei kann von der Generierung a .TXT insbesondere bei einigen Linien bis zur Erzeugung großer .xml dass wir eine Konfiguration definieren können.
Um alles zu erledigen, was das Erstellen einer Datei auf einem System beinhaltet, Java zähl auf die klasse Datei innerhalb des Bibliothekspakets für die Verarbeitung von Dateneingabe und -ausgabe java.io. Diese Klasse stellt uns verschiedene Methoden zur Verfügung, mit denen wir Operationen ausführen können, die von Erstellen und Löschen von Dateien, Erstellen von Verzeichnissen, Überprüfen von Berechtigungen usw..
Bevor wir in der Praxis sehen, wie wir die Klasse verwenden können, um Dateioperationen durchzuführen, müssen wir verstehen, dass sie einige ihrer wichtigsten Methoden ausführen Umgang mit Dateien in unseren Programmen:
existiert ()Diese Methode gibt uns eine boolesche Antwort über die Existenz einer bestimmten Datei in einem Verzeichnis, das wir beim Aufrufen angeben. Offensichtlich gibt sie true oder true zurück, wenn die Datei gefunden wird, und false oder false, wenn dies nicht der Fall ist.
getCanonicalPath ()Diese Methode gibt den vollständigen Namen einschließlich des Dateipfads zurück. Es ist sehr wichtig, die absolute Position unserer Datei innerhalb des Systems zu ermitteln, in dem wir unser Programm ausführen.
getName()Im Gegensatz zur vorherigen Methode wird hier nur der relative und kurze Name der Datei zurückgegeben, also ohne Angabe der Adresse oder des Ordners, in dem sie sich befindet.
kann lesen ()Mit dieser Methode können wir überprüfen, ob wir die Berechtigung zum Lesen der Datei haben. Es ist sehr wichtig zu überprüfen, ob wir eine Datei lesen können oder nicht, bevor wir eine Operation damit starten. Auf diese Weise können wir Ausnahmen reduzieren und Systemressourcen sparen.
kann schreiben ()Dies ist eine weitere Methode, die uns hilft, die Berechtigungen für die Dateien zu überprüfen, wenn sie auf eine Instanz der Klasse angewendet wird Datei teilen uns mit, ob wir die entsprechende Datei schreiben können.
Länge ()Diese Methode ist eine der nützlichsten, da sie es uns ermöglicht, die Größe einer Datei zu kennen, eine wichtige Überprüfung bei der Verarbeitung.
isDatei()Schließlich ermöglicht uns diese Methode zu wissen, ob es sich bei dem, was wir auswerten, um eine Datei oder ein Verzeichnis handelt, damit wir wissen, ob wir an der gewünschten Struktur arbeiten.
Das eine Datei erstellen Es ist ein Prozess, bei dem wir in das System schreiben, in dem unser Programm läuft. Es gibt einen Unterschied zwischen dem Schreiben einer Datei und dem Schreiben in eine Datei. Der erste sagt uns, dass wir die Datei im System generieren, aber nicht unbedingt den Inhalt hinzugefügt haben; Andererseits sagt uns die zweite, dass wir Inhalt zu einer vorhandenen Datei hinzufügen.
Sie fragen sich vielleicht, warum wir eine leere Datei wollen, eine leere Datei ist nicht nutzlos, sie kann Teil eines größeren Prozesses innerhalb einer Anwendung sein, zum Beispiel erstellt eine Methode die Datei und nach einem Ergebnis eines Prozesses kümmert sich eine andere Methode um das Hinzufügen Daten dazu. Es kann auch bei Validierungen von entscheidender Bedeutung sein, bei denen wir temporäre Dateien generieren, um dem Programm anzuzeigen, in welcher Phase des Prozesses wir uns befinden usw.
Sehen wir uns unten einen kleinen Code an, in dem wir eine leere Flatfile generieren.
 java.io importieren *; java.io.Datei importieren; öffentliche Klasse CreateFiles {öffentliche statische void main (String [] argv) wirft IOException {if (argv.length == 0) {System.err.println ("Sie müssen einen Namen per Parameter eingeben"); System.exit (1); } for (String Dateiname: argv) {new File (Dateiname) .createNewFile (); }}} 

Wir sehen, dass das erste, was wir tun, ein Import der Klassen von ist java.io um auf die Ausnahmebehandlung zugreifen zu können mit IOAusnahme, dann importieren wir die Klasse java.io.Datei Dies ermöglicht es uns, die Dateien direkt zu manipulieren.
Dann erstellen wir unsere Klasse und in ihrer Methode hauptsächlich Wir geben an, dass es Argumente empfängt, wir tun dies, um die Namen der Dateien dynamisch anzuzeigen. Da wir einen Namen benötigen, führen wir eine kleine Validierung durch, die anzeigt, dass, wenn ein Dateiname nicht empfangen wird, aufgefordert wird, ihn zu platzieren, und das Programm beendet wird. Schließlich erstellen wir für jedes empfangene Argument eine neue Datei, mit der wir eine neue Instanz der Klasse erstellen Datei und mit der Methode createNewFile() Wir generieren die Datei im System.
Wir müssen uns bewusst sein, dass wir eine Fehlermeldung erhalten, wenn unser Programm nicht über ausreichende Berechtigungen zum Erstellen einer Datei in seinem Verzeichnis verfügt. Sehen wir uns ohne weiteres an, wie unser Programm aussieht, wenn wir es auf der Konsole ausführen:

VERGRÖSSERN

Wir können sehen, wie unsere anfängliche Validierung funktioniert hat und dann, wenn wir den Dateinamen übergeben haben, der generiert wurde, um letzteren zu überprüfen, haben wir einfach Folgendes getan dir unseres Verzeichnisses und überprüfen somit die Existenz der Datei.
Eine weitere der häufigsten Operationen beim Arbeiten mit Dateien nach dem Schreiben und Löschen ist das Umbenennen Java Wir müssen einem Prozess folgen, der kompliziert erscheinen mag, aber wie wir im Beispiel sehen werden, das der Erklärung beigefügt ist, ist es ziemlich leicht zu verstehen.
Wie es geht?Benennen Sie eine Datei um in Java erfordert zwei Objekte vom Typ Datei, die erste enthält die Datei, die wir umbenennen möchten, und die zweite enthält den neuen Namen der Datei. Sobald wir diese Bedingungen erfüllen, müssen wir die Methode aufrufen umbenennen in () über das vorhandene Dateiobjekt und übergeben ihm das neue Objekt mit dem neuen Namen.
Sehen wir uns den Code an, den wir benötigen, um die Umbenennungsoperation für unsere Datei durchzuführen:
 java.io importieren *; java.io.Datei importieren; öffentliche Klasse RenameFiles {öffentliche statische void main (String [] argv) wirft IOException {File FirstObject = new File ("NewFile.txt"); Datei zweites Objekt = neue Datei ("FileWithNewName.txt"); FirstObject.renameTo (SecondObject); }} 

Wir importieren die entsprechenden Klassen und Pakete, wobei wir das gleiche wie im vorherigen Beispiel beibehalten.
Innerhalb der Methode hauptsächlich () wir werden unser erstes Objekt erstellen und wir werden den Namen der Datei eingeben, die wir im vorherigen Beispiel erstellt haben, in diesem Fall ist es DateiNeu.txt. Dann erstellen wir ein zweites Objekt mit dem neuen Namen für unsere Datei, in dem von uns gewählten Beispiel FileWithNewName.txt.
Schließlich wenden wir auf das erste Objekt die Methode umbenennen in () und als Argument oder Parameter übergeben wir ihm das zweite Objekt, das den neuen Namen für unsere Datei hat. Sehen wir uns an, wie es auf der Konsole aussieht, wenn wir unseren Code ausführen:

VERGRÖSSERN

Wir haben bemerkt, wie sich der Ordner geändert hat und jetzt unsere neue Datei im Vergleich zur Ausführung des ersten Beispiels zur Dateierstellung widerspiegelt.
Schließlich sehen wir die andere Operation, die beim Arbeiten mit Dateien häufig vorkommt, nämlich das Löschen. Dies ist vielleicht eine der einfachsten, da wir nur den Namen der Datei kennen, ihre Existenz überprüfen und dann mit dem Löschen fortfahren müssen es mit der Methode löschen () wobei wir den Namen der betreffenden Datei übergeben. Sehen wir uns im folgenden Code an, wie wir dies erreichen:
 java.io importieren *; java.io.Datei importieren; öffentliche Klasse DeleteFile {öffentliche statische void main (String [] argv) {delete ('FileWithNewName.txt'); } public static void delete (String filenameDelete) {try {File file = new File (filenameDelete); if (! file.exists ()) {System.err.println ("Die Datei" + DateinameDelete + "existiert nicht in diesem Verzeichnis"); Rückkehr; } if (file.delete ()) System.err.println ("** Die Datei" + fileNameDelete + "wurde gelöscht **"); else System.err.println ("Datei konnte nicht gelöscht werden:" + DateinameDelete); } catch (SecurityException e) {System.err.println ("Datei kann nicht gelöscht werden:" + DeleteFileName + "(" + e.getMessage () + ")"); }}} 

Wir sehen, dass dieses Programm etwas umfangreicher ist als die vorherigen, weil wir ein wiederverwendbare Funktion Beim Löschen von Dateien, bei denen wir zuerst überprüfen, ob die Datei existiert, dann löschen wir sie. Hier überprüfen wir, ob sie tatsächlich gelöscht wurde, andernfalls informieren wir den Benutzer, dass die Datei nicht aus dem Dateisystem entfernt werden konnte.
In der Konsole können wir sehen, wie wir diesen Vorgang erfolgreich ausführen konnten. Dazu verwenden wir die Datei, die wir im vorherigen Beispiel umbenannt haben. Wenn wir also eine Liste des Inhalts des Ordners erstellen, sehen wir die Änderung widergespiegelt:

VERGRÖSSERN

Schließlich versuchen wir noch einmal zu löschen, damit wir beobachten können, wie die Validierungen funktionieren:

VERGRÖSSERN

Damit beenden wir dieses Tutorial, wir haben gelernt, Dateien zu generieren, zusätzlich zum Ausführen von zwei der am häufigsten verwendeten Aktionen zur Dateimanipulation, damit können wir diese Techniken in unsere Programme und Anwendungen integrieren und die Vorteile genießen, die diese Art von Techniken Ihnen bietet kann uns bringen.
wave wave wave wave wave