Datei öffnen

In MATLAB können einfache Textdateien mit dem Befehl fopen() geöffnet werden. Um später noch Zugriff auf die Datei zu haben, sollte sie mit einem fileID gespeichert werden. Dies könnte wie folgt aussehen:

fileID = fopen('Beispiel.txt');

Vor dem Namen kann auch der komplette Pfad angegeben werden. Dies wird besonders interessant, wenn man zum Beispiel im Rahmen einer Teamarbeit einen Ordner hat, auf dem sich die MATLAB-Funktionen und alle Daten in Unterordnern sortiert finden. Mit Hilfe des bereits bekannten pwd-Befehls kann der aktuelle Ort der Hauptfunktion gefunden werden. Da die Struktur der Unterordner dem Anwender bekannt ist, braucht er nur den Pfad der Unterordner als String anzuheften. Das könnte beispielsweise so aussehen:

aktuellerPfad = pwd; %aktueller Ort, an dem diese Funktion gestartet wurde
pfadDatei = '\Ordner1\Ordner1_5\wichtigeDaten.txt'; %Pfad zu der Datei

kompletterPfad = strcat(aktuellerPfad, pfadDatei); %fügt beide Pfade zusammen

fileID = fopen(kompletterPfad); %öffnet die Datei

Damit können alle Dateien in einem Ordner gespeichert und zum Beispiel per USB-Stick weitergegeben werden. Es ist egal, von wo aus die Funktion gestartet wird, die Datei in den Unterordnern wird gefunden.

Der Befehl fopen kann neben dem Namen noch zwei weitere Spezifikation beinhalten. Zum Einen kann eine permission-Spezifikation angehängt werden und zum Anderen die zu verwendende Kodierung (UTF-8, ISO-8859 usw.). Für dieses Tutorial sind drei  permission-Ausprägungen (r,w und a) und deren Erweiterungen (r+, w+ und a+) relevant:

fileID = fopen('Beispiel.txt','r');In diesem Fall wird die Datei mit der Berechtigung 'r' (reading) geöffnet. In diesem Fall darf an der Datei nichts geändert werden. Sie darf nur ausgelesen werden.

fileID = fopen('Beispiel.txt','w');

Mit 'w' (write) wird die Datei mit Schreibrechten geöffnet. Der Inhalt der Datei wird dabei gelöscht. Ist die Datei nicht vorhanden, so wird sie erzeugt.

fileID = fopen('Beispiel.txt','a');

'a' (append) funktioniert wie 'w' mit dem Unterschied, dass der Inhalt der Datei nicht gelöscht wird, sondern die neuen Zeilen unter der letzten Zeile des Dokuments geschrieben werden. Mit diesen Befehlen kann entweder der Inhalt der Datei gelesen werden oder neuer Inhalt geschrieben werden. Die Erweiterungen ermöglichen sowohl das Lesen, als auch das Schreiben.

 

Alle geöffneten Dateien sollten zum Schluss wieder geschlossen werden:

fileCloseID = fclose(fileID);