Dateien aus Java generieren

Obwohl die Arbeit mit Datenbanken eine sehr gute Sache ist und uns viel Arbeit beim Erstellen von Anfragen und zugehörigen Aufzeichnungen erspart, müssen wir manchmal Dateien generieren, unabhängig davon, ob ein Datenbankserver verfügbar ist oder vielleicht, weil wir keinen Datensatz speichern müssen, wenn es sich nicht um einen unabhängigen Datensatz handelt.

Die Dateiverwaltung ist ein Bereich, den viele immer noch als etwas Komplexes oder Veraltetes betrachten. 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 Erzeugung einer TXT- Datei mit bestimmten Zeilen bis zur Erzeugung einer großen XML- Datei reichen, die eine Konfiguration definieren kann.

Die java.io.File-Klasse

Um alles zu erledigen, was das Erstellen einer Datei auf einem System erfordert, verfügt Java über die File- Klasse im Bibliothekspaket, um die Dateneingabe und das Beenden von java.io zu verwalten. Diese Klasse stellt uns verschiedene Methoden zur Verfügung, mit denen wir Vorgänge ausführen können, die vom Erstellen und Löschen von Dateien über das Erstellen von Verzeichnissen bis hin zum Überprüfen von Berechtigungen usw. reichen .

Hauptmethoden

Bevor wir in der Praxis sehen, wie wir die Klasse zum Ausführen von Dateioperationen verwenden können, müssen wir verstehen, dass sie einige ihrer Hauptmethoden ausführen. Damit verfügen wir über eine theoretische Grundlage, an die wir uns wenden können, wenn wir auf ein bestimmtes Problem stoßen, das Verwaltung erfordert von Dateien in unseren Programmen:

existiert ()
Diese Methode gibt uns eine boolesche Antwort auf das Vorhandensein einer bestimmten Datei in einem Verzeichnis, das wir beim Aufrufen angeben. Offensichtlich wird true oder true zurückgegeben, 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, auf dem wir unser Programm ausführen.

getName ()
Im Gegensatz zur vorherigen Methode wird hiermit nur der relative und kurze Name der Datei zurückgegeben, dh ohne die Adresse oder den Ordner, in dem sich die Datei befindet.

canRead ()
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, bevor wir eine Operation damit ausführen. Auf diese Weise können wir Ausnahmen reduzieren und Systemressourcen sparen.

canWrite ()
Dies ist eine weitere Methode, mit der wir die Berechtigungen für die Dateien validieren und auf eine Instanz der File- Klasse anwenden können. Dadurch erfahren wir, 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 Prüfung bei der Verarbeitung.

isFile ()
Schließlich können wir mit dieser Methode feststellen, ob es sich bei dem auszuwertenden Objekt um eine Datei oder ein Verzeichnis handelt. Wir werden also feststellen, ob wir an der gewünschten Struktur arbeiten.

Erstellen Sie eine Datei

Die Erstellung einer Datei ist ein Prozess, mit dem wir in das System schreiben, in dem unser Programm ausgeführt wird. Es gibt einen Unterschied zwischen dem Schreiben einer Datei und dem Schreiben innerhalb einer Datei. Der erste Unterschied besagt, dass wir die Datei innerhalb des Systems generieren, den Inhalt jedoch nicht unbedingt hinzugefügt haben. Auf der anderen Seite erfahren wir, dass wir einer vorhandenen Datei Inhalt hinzufügen.

See also  So richten Sie ein Google Mail-Konto in Windows 10 Mail ein

Sie fragen sich vielleicht, warum wir eine leere Datei wollen, eine leere Datei ist nicht nutzlos, sie kann Teil eines größeren Prozesses in einer Anwendung sein, zum Beispiel eine Methode erstellt die Datei und dann ein Ergebnis eines Prozesses, für den eine andere Methode sorgt Daten hinzufügen Dies 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.

Nachfolgend sehen wir einen kleinen Code, in dem wir eine leere Flatfile generieren.

 import java.io. *; import java.io.File; öffentliche Klasse CrearArchivos { public static void main (String [] argv) löst IOException {aus if (argv.length == 0) { System.err.println ("Sie müssen einen Namen per Parameter eingeben"); System.exit (1); } for (String filename: argv) { neue Datei (Dateiname) .createNewFile (); } } } 

Wir sehen, dass wir zuerst die java.io- Klassen importieren, damit wir mit IOException auf die Ausnahmebehandlung zugreifen können , und dann die java.io.File- Klasse importieren, mit der wir die Dateien direkt bearbeiten können.

Dann erstellen wir unsere Klasse und geben in ihrer Hauptmethode an, dass sie Argumente erhalten soll. Dies tun wir, um die Namen der Dateien dynamisch anzugeben. Da wir einen Namen benötigen, handelt es sich um eine kleine Überprüfung, die angibt, dass das Programm platziert und beendet werden muss, wenn kein Dateiname empfangen wird. Schließlich erstellen wir für jedes erhaltene Argument eine neue Datei, wobei wir eine neue Instanz der File- Klasse erstellen und mit der createNewFile () -Methode die Datei im System generieren.

Wir müssen uns darüber im Klaren sein, dass wir eine Fehlermeldung erhalten, wenn unser Programm nicht über die erforderlichen Berechtigungen zum Erstellen einer Datei in seinem Verzeichnis verfügt. Ohne mehr sehen wir, wie unser Programm aussieht, wenn es in der Konsole ausgeführt wird:

See also  Was ist Rsync und wie wird es für Backups verwendet?

Erzeugung-Dateien-java.jpg
Wir können sehen, wie unsere anfängliche Validierung funktioniert hat, und wenn wir den Namen der Datei übergeben haben, haben wir zur Überprüfung dieser letzten einfach ein Verzeichnis unseres Verzeichnisses erstellt und somit die Existenz der Datei überprüft.

Benennen Sie die Datei um

Eine weitere der häufigsten Operationen, die beim Arbeiten mit Dateien nach dem Schreiben und Löschen ausgeführt werden, ist das Umbenennen. In Java müssen wir einem Prozess folgen, der kompliziert erscheint, aber wie wir in dem Beispiel sehen werden, das der Erklärung beiliegt, ist dies recht einfach zu verstehen.

Wie geht das?
Das Umbenennen einer Datei in Java erfordert zwei Objekte vom Typ Datei . Das erste enthält die Datei, die umbenannt werden soll, und das zweite enthält den neuen Namen der Datei. Sobald diese Bedingungen erfüllt sind, müssen wir die Methode renameTo () für das Objekt der Datei aufrufen vorhanden und übergeben Sie das neue Objekt mit dem neuen Namen.

Sehen wir uns den Code an, den wir zum Umbenennen unserer Datei benötigen:

 import java.io. *; import java.io.File; public class RenombrarArchivos { public static void main (String [] argv) löst IOException {aus Dateiobjekt First = neue Datei ("NewFile.txt"); File objectSecond = new File ("FileConNewName.txt"); objectfirst.renameTo (zweites Objekt); } } 

Wir importieren die entsprechenden Klassen und Pakete, wobei wir die gleichen wie im vorherigen Beispiel beibehalten.

In der main () -Methode erstellen wir unser erstes Objekt und platzieren den Namen der Datei, die wir im vorherigen Beispiel erstellt haben, in diesem Fall NewFile.txt . Dann erstellen wir ein zweites Objekt mit dem neuen Namen, den wir für unsere Datei wollen, in dem Beispiel haben wir FileOnNameName.txt gewählt.

Schließlich wenden wir auf das erste Objekt die Methode renameTo () an und übergeben als Argument oder Parameter das zweite Objekt, das den neuen Namen für unsere Datei hat. Mal sehen, wie es auf der Konsole aussieht, wenn wir unseren Code ausführen:

See also  AngularJS - Umgang mit wiederholten Elementen

Generieren-Dateien-java2.jpg
Wir haben festgestellt, wie sich der Ordner geändert hat und nun zeigt er unsere neue Datei in Bezug auf die Ausführung des ersten Beispiels für die Dateierstellung.

Eine Datei löschen

Schließlich sehen wir den anderen Vorgang, der bei der Arbeit mit Dateien häufig vorkommt und zu löschen ist. Dies ist möglicherweise einer der einfachsten, da wir nur den Namen der Datei kennen müssen, deren Existenz überprüfen und mit der Löschmethode fortfahren müssen () wo wir den Namen der betreffenden Datei übergeben. Sehen wir uns im folgenden Code an, wie wir dies erreichen:

 import java.io. *; import java.io.File; public class Delete File { public static void main (String [] argv) { delete ('FileConNewName.txt'); } public static void delete (String filenameDelete) { versuche { Datei file = neue Datei (fileNameDelete); if (! file.exists ()) { System.err.println ("Die Datei" + filenameDelete + "existiert nicht in diesem Verzeichnis"); zurückkehren; } if (file.delete ()) System.err.println ("** Die Datei" + filenameDelete + "wurde gelöscht **"); sonst System.err.println ("Die Datei konnte nicht gelöscht werden:" + filenameDelete); } catch (SecurityException e) { System.err.println ("Die Datei kann nicht gelöscht werden:" + filenameDelete + "(" + e.getMessage () + ")"); } } } 

Wir sehen, dass dieses Programm etwas umfangreicher ist als die vorherigen. Dies liegt an der Tatsache, dass wir eine wiederverwendbare Funktion zum Löschen von Dateien erstellt haben, bei der wir zunächst überprüfen, ob die Datei vorhanden ist, und dann mit dem Löschen fortfahren um zu überprüfen, ob die Datei tatsächlich gelöscht wurde, informieren wir den Benutzer andernfalls darüber, 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, werden wir die reflektierte Änderung sehen:

Generieren-Dateien-java3.jpg
Zum Schluss werden wir versuchen, noch einmal zu löschen, damit wir beobachten können, wie die Validierungen funktionieren:

Generieren-Dateien-java4.jpg
Damit beenden wir dieses Tutorial. Wir haben gelernt, Dateien zu generieren und zusätzlich zwei der am häufigsten verwendeten Aktionen zur Dateimanipulation auszuführen. Damit können wir diese Techniken in unsere Programme und Anwendungen integrieren und die Vorteile dieser Art von Techniken nutzen kann uns bringen

administrator

Leave a Reply

Your email address will not be published. Required fields are marked *