Die Community zu .NET und Classic VB.
Menü

FAQ 0003: Wie kann ich aus einer Datei lesen und in eine Datei schreiben?

 von 

Frage 

Wie kann ich aus einer Datei lesen?

Wie kann ich in eine Datei schreiben?

Wie kann ich eine leere Datei anlegen?

Wie kann ich die letzten X Byte einer Datei löschen?

Datei lesen und schreiben  

Dazu gibt es ein paar Tutorials, welche unbedingt gelesen werden sollten:

Wenn eine Datei zum Beschreiben geöffnet wird, wird sie angelegt, wenn sie nicht existiert. Wird eine leere Datei benötigt, öffnet man diese Datei einfach zum Schreiben und schließt sie wieder, ohne etwas in die Datei zu schreiben.

Die letzten x Byte einer Datei löschen  

Mit reinen VB-Bordmitteln geht es nicht, hier muß man die Datei komplett einlesen, den Lesepuffer um die gewünschte Länge reduzieren und die Datei wieder schreiben.
Allerdings gibt es noch die Funktion SetEndOfFile des Windows-API. Diese kann das Ende einer Datei auf die aktuelle Lese- oder Schreibposition festlegen. Die Datei wird dazu mit CreateFile geöffnet, mit SetFilePointer an die gewünschte Position gesprungen und dann mit SetEndOfFile das Ende der Datei markiert. Mit CloseHandle wird die Datei dann wieder geschlossen.

An das Ende einer Datei schreiben  

Möchte man Daten an eine Datei anhängen, muß man die Datei im Append-Modus öffnen.
Im Fall von binär geöffneten Dateien geht dies jedoch nicht, da muß man die Datensätzposition angeben:

'   Angenommen, die Kanalnummer steht in FNr:
Put #Fnr, LOF(FNr) + 1, App.ExeName

Listing 1: Daten ans Ende einer binär geöffneten Datei schreiben

Ihre Meinung  

Falls Sie Fragen zu dieser FAQ haben, Ihre Erfahrung mit anderen Nutzern austauschen möchten oder auf eine Ergänzung hinweisen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.